封送處理類別、結構和等位
更新:2007 年 11 月
在 .NET Framework 中類別和結構是相同的。兩者都有欄位、屬性和事件。也可以有靜態和非靜態方法。一個顯著差異為結構是實值型別,而類別是參考型別。
下表列出類別、結構和等位的封送處理選項、說明其用法,以及提供對應之平台叫用範例的連結。
類型 |
描述 |
範例 |
---|---|---|
傳值方式的類別 |
以整數成員做為 In/Out 參數傳遞類別,如 Managed 情況。 |
|
傳值方式的結構 |
將結構當成 In 參數傳遞。 |
|
傳址結構 |
將結構當成 In/Out 參數傳遞。 |
|
具有巢狀結構 (扁平式) 的結構 |
傳遞表示具有 Unmanaged 函式中巢狀結構之結構的類別。結構在 Managed 原型中是扁平化為一個大結構。 |
|
具有巢狀結構 (非扁平式) 的結構 |
傳遞具有內嵌結構的結構。 |
|
具有另一個結構指標的結構 |
傳遞含有第二個結構指標的結構做為成員。 |
|
具有傳值整數的結構陣列 |
傳遞結構的陣列,只包含做為 In/Out 參數的整數。陣列的成員可以被變更。 |
|
具有傳址方式的整數和字串的結構陣列 |
傳遞結構的陣列,包含做為 Out 參數的整數和字串。呼叫的函式會配置陣列的記憶體。 |
|
具有實值型別的等位 |
傳遞具有實值型別 (整數和雙精度浮點數) 的等位。 |
|
具有混合型別的等位 |
傳遞具有混合型別 (整數和字串) 的等位。 |
|
結構中的 Null 值 |
傳遞 Null 參考 (Visual Basic 中為 Nothing),而非實值型別的參考。 |