JsonObjectCreationHandlingAttribute 類別

定義

決定還原串行化如何處理字段或屬性的物件建立。

public ref class JsonObjectCreationHandlingAttribute sealed : System::Text::Json::Serialization::JsonAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Property | System.AttributeTargets.Struct, AllowMultiple=false)]
public sealed class JsonObjectCreationHandlingAttribute : System.Text.Json.Serialization.JsonAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Property | System.AttributeTargets.Struct, AllowMultiple=false)>]
type JsonObjectCreationHandlingAttribute = class
    inherit JsonAttribute
Public NotInheritable Class JsonObjectCreationHandlingAttribute
Inherits JsonAttribute
繼承
JsonObjectCreationHandlingAttribute
屬性

備註

放置在欄位或屬性上時,這個屬性會指出成員是否會被取代或填入。 使用預設解析程式時,此屬性會對應至 ObjectCreationHandling

當置於具有 Populate的類型上時,這個屬性表示所有支援母體擴展的成員都會填入。 使用預設解析程式時,此屬性會對應至 PreferredPropertyObjectCreationHandling

屬性只會對應至在類型上放置屬性時,建立屬性的慣用值。 例如,當 JsonObjectCreationHandlingAttributePopulate 放在類別上,而且屬性無法填入時,將會取代它。 true例如,如果實值型別沒有 setter,或屬性的類型IEnumerable<T>為 。

只會考慮屬性類型。 例如,如果 屬性的類型為 IEnumerable<T> ,且具有 類型的 List<T>運行時間值,則不會填入它,因為 IEnumerable<T> 無法填入。

實值類型需要 setter 才能支援母體擴展。 在這種情況下,還原串行化會使用屬性值的複本,這會在完成之後指派回 setter。

建構函式

JsonObjectCreationHandlingAttribute(JsonObjectCreationHandling)

初始化 JsonObjectCreationHandlingAttribute 的新執行個體。

屬性

Handling

取得還原串行化成員時要使用的組態。

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)

適用於