ReadOnlyArrayAttribute 類別

定義

當套用至 Windows 執行階段元件中的陣列參數時,會指定傳遞至該參數的陣列內容只能用於輸入。 呼叫端必須確保呼叫不會變更陣列。

public ref class ReadOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class ReadOnlyArrayAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)>]
type ReadOnlyArrayAttribute = class
    inherit Attribute
Public NotInheritable Class ReadOnlyArrayAttribute
Inherits Attribute
繼承
ReadOnlyArrayAttribute
屬性

備註

如果您的Windows 執行階段元件中的陣列參數會以 Visual Basic) 中的值 ByVal (傳遞,您必須將下列其中一個屬性套用至該元件:

  • ReadOnlyArrayAttribute如果您想要只將陣列的內容用於輸入,請套用 屬性。

  • WriteOnlyArrayAttribute如果您想要將陣列的內容只用于輸出 (,則套用 屬性,此方法會設定陣列的內容,但不會) 讀取這些內容。

將這兩個屬性套用至參數會造成錯誤。 如需詳細資訊,包括對陣列進行變更的標準模式,請參閱將陣列傳遞至Windows 開發人員中心中的Windows 執行階段元件。

重要

具有 ReadOnlyArrayAttribute 屬性的參數會根據呼叫端是以機器碼或 Managed 程式碼撰寫而有所不同。 如果呼叫端是 javaScript 或 Visual C++ 元件延伸模組 () 的機器碼,當呼叫跨越應用程式二進位介面 (ABI) 界限時,就會複製陣列。 必要時,會轉換項目。 因此,呼叫端看不到方法對只限輸入陣列的任何意外變更。

如果呼叫端是 Managed 程式碼,則不會複製陣列。 原始陣列可供呼叫的方法使用,如同在.NET Framework中的任何方法呼叫中一樣。 陣列內容在 .NET Framework 程式碼中是可變動的,因此呼叫端看得到方法對陣列的任何變更。 請務必記住這點,因為它會影響針對Windows 執行階段元件撰寫的單元測試。 如果測試是以 Managed 程式碼撰寫,陣列內容在測試期間就是可變動的。

將此屬性套用至具有 InAttributeOutAttribute 屬性的參數會在匯出模組時造成錯誤。 將 屬性套用至 out 參數也會導致錯誤。

建構函式

ReadOnlyArrayAttribute()

初始化 ReadOnlyArrayAttribute 類別的新執行個體。

屬性

TypeId

在衍生類別中實作時,取得這個 Attribute 的唯一識別碼。

(繼承來源 Attribute)

方法

Equals(Object)

傳回值,這個值指出此執行個體是否與指定的物件相等。

(繼承來源 Attribute)
GetHashCode()

傳回這個執行個體的雜湊碼。

(繼承來源 Attribute)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IsDefaultAttribute()

在衍生類別中覆寫時,表示這個執行個體的值是衍生類別的預設值。

(繼承來源 Attribute)
Match(Object)

在衍生類別中覆寫時,會傳回值,表示這個執行個體是否等於指定物件。

(繼承來源 Attribute)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

明確介面實作

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。

(繼承來源 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

擷取物件的類型資訊,可以用來取得介面的類型資訊。

(繼承來源 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

擷取物件提供的類型資訊介面數目 (0 或 1)。

(繼承來源 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供物件所公開的屬性和方法的存取權。

(繼承來源 Attribute)

適用於

另請參閱