Natived

			Managed
			Pointer
NativedClass* obj = new NativedClass();
ManagedClass^ obj = gcnew ManagedClass();
			Call By Reference
void Method(int& value)
{
}
void Method(int% value)
{
}
			Enum
enum
{	
    Element1,
    Element2
};
enum class EnumName
{	
    Element1,
    Element2
};
			Class
class ClassName
{
};
ref class ClassName
{
};
			Struct
struct StructName
{
    int m_nElement1;
}
ref struct StructName
{
    int m_nElement1;
}
			Property
private:
	bool _propertyValue;
public:
	__declspec(property(get=GetPropertyValue,put=SetPropertyValue))
		bool m_propertyValue;
public:
	void SetPropertyValue(bool value)
	{
		_propertyValue = value;
	}
	bool GetPropertyValue()
	{
		return _propertyValue;
	}
private:
	System::Boolean _propertyValue;
public:
	property System::Boolean PropertyValue
	{
		System::Boolean get()
		{
			return _propertyValue;
		}
		void set(System::Boolean value)
		{
			_propertyValue = value;
		}
	}

void Method(int% value) { }

			Enum

enum { Element1, Element2 };

enum class EnumName { Element1, Element2 };

			Class

class ClassName { };

ref class ClassName { };

			Struct

struct StructName { int m_nElement1; }

ref struct StructName { int m_nElement1; }

			Property

private: bool _propertyValue; public: __declspec(property(get=GetPropertyValue,put=SetPropertyValue)) bool m_propertyValue; public: void SetPropertyValue(bool value) { _propertyValue = value; } bool GetPropertyValue() { return _propertyValue; }

private: System::Boolean _propertyValue; public: property System::Boolean PropertyValue { System::Boolean get() { return _propertyValue; } void set(System::Boolean value) { _propertyValue = value; } }