1:调用基类构造函数:
C#
public subclassname(object arg): base(arg)
{}
C++
h文件
public:
subclassname(System::Object^ type);
cpp文件
subclassname(System::Object^ type): baseclassname(type){}
2:重写基类方法:
C#
protected override string baseclassMethod(object value)
{}
C++
h文件
virtual System::String^ baseclassMethod(System::Object^ value) override;
cpp文件
System::String^ namespace::subclassname::baseclassMethod(System::Object^ value)
{}
3:属性:
C#
public int Count{get{retrun m_Count;}set{m_Count=value;}}
C++
h文件
property virtual int Count
{
int get(){return this->m_Count;}
set(int value){this->m_Count=value;}
}
4:数组
C#
ItemType[] items;
C++
array<ItemType>^ items;
5:泛型
C#
public someclass<T>
{}
C++
h文件
generic <class ItemType>
public ref class ItemCollection
{}
6:生成类实例:
C#
someclass sc=new someclass();
C++
someclass^ sc=gcnew someclass();
7:获取类的类型
C#
typeof(someclass);
C++
someclass::typeid;
8:名称空间
C#
namespace A.B
{}
C++
namespace A
{
namespace B
{}
}
9折叠代码:C##
#region sometext#endregion
C++
#pragma region sometext
#pragma endregion sometext
10:索引
C#
public int this[int index]
{
get{return this.m_Index;}
set{this.m_Index=value;}
}
C++
virtual property int default[int]
{
int get(int index){return this->m_Index;}
void set(int index, int value){this->m_Index=value;}
}
11:同名不同返回类型的函数(继承接口)
//直接写就行了
C++
virtual someTypename^ somemethodname() = basetypename::somemethod
{
return this->m_InnerList->GetEnumerator();
}
12:IDispose接口
C#
someInstance.Dispose();
C++
delete someInstance;
someInstance->~SomeInstance()
13:事件注册
C#
someInstance.someEvent += new System.ComponentModel.Design.ComponentChangedEventHandler(this.eventProc);
C++
service2->ComponentChanged += gcnew System::ComponentModel::Design::ComponentChangedEventHandler(this, &classname::eventProc);
14:泛型默认值
C#
T t=default(T);
C++
T t=T();