如何:在 /clr 編譯中使用原生類型
您可以在 /clr 編譯中 定義原生類型,而且從元件內使用該原生類型的任何用法都是有效的。 不過,原生類型將無法從參考的中繼資料使用。
每個元件都必須包含其將使用的每個原生類型定義。
如需詳細資訊,請參閱 /clr (Common Language Runtime 編譯)。
範例
此範例會建立定義和使用原生類型的元件。
// use_native_type_in_clr.cpp
// compile with: /clr /LD
public struct NativeClass {
static int Test() { return 98; }
};
public ref struct ManagedClass {
static int i = NativeClass::Test();
void Test() {
System::Console::WriteLine(i);
}
};
此範例會定義取用元件的用戶端。 請注意,除非是在編譯和中定義,否則存取原生類型是錯誤的。
// use_native_type_in_clr_2.cpp
// compile with: /clr
#using "use_native_type_in_clr.dll"
// Uncomment the following 3 lines to resolve.
// public struct NativeClass {
// static int Test() { return 98; }
// };
int main() {
ManagedClass x;
x.Test();
System::Console::WriteLine(NativeClass::Test()); // C2653
}