WriteOnlyArrayAttribute 類別

定義

當套用至 Windows 執行階段元件中的陣列參數時,會指定傳遞至該參數的陣列內容只能用於輸出。 呼叫端不保證內容都已初始化,且所呼叫的方法應該不會讀取內容。

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

備註

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

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

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

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

重要

具有 WriteOnlyArrayAttribute 屬性的參數會根據呼叫端是以機器碼或 Managed 程式代碼撰寫而有所不同。 如果呼叫端是原生程式代碼, (JavaScript 或 Visual C++ 元件延伸模組) ,則呼叫的方法無法對原始數位的內容進行任何假設。 例如,方法接收的陣列可能無法初始化,或可能包含預設值。 方法應該在陣列中設定所有項目的值。

如果呼叫端是Managed程式碼,則呼叫端的原始數位會傳遞至呼叫的方法,因為它會位於 .NET Framework中的任何方法呼叫中。 數位內容可在 Managed 程式代碼中變動,因此方法可以選擇性地讀取和變更這些值。 請務必記住,因為它會影響針對 Windows 執行階段元件撰寫的單元測試。 如果測試是以 Managed 程式代碼撰寫,陣列的內容會在測試期間顯示為可變動,而且如果稍後從機器碼呼叫方法,結果可能會不同。

將這個屬性套用至參數,或套用至 out 具有 InAttribute 屬性的參數,會在匯出模組時造成錯誤。 除非參數也有 Visual Basic ByRef 修飾詞,否則將 屬性套用至具有 OutAttribute 屬性的參數會造成錯誤。 在此情況下,屬性是多餘的,但允許。

建構函式

WriteOnlyArrayAttribute()

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

屬性

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)

適用於

另請參閱