| 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;
}
} |
C++/CLI Managed vs Native Syntax Mapping
Natived Managed Pointer NativedClass obj = new NativedClass(); ManagedClass^ obj = gcnew ManagedClass(); Call By Reference void Method(int& value) {…