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();