JsonObjectCreationHandlingAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
決定還原串行化如何處理字段或屬性的物件建立。
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
- 繼承
- 屬性
備註
放置在欄位或屬性上時,這個屬性會指出成員是否會被取代或填入。 使用預設解析程式時,此屬性會對應至 ObjectCreationHandling。
當置於具有 Populate的類型上時,這個屬性表示所有支援母體擴展的成員都會填入。 使用預設解析程式時,此屬性會對應至 PreferredPropertyObjectCreationHandling。
屬性只會對應至在類型上放置屬性時,建立屬性的慣用值。 例如,當 JsonObjectCreationHandlingAttribute 與 Populate 放在類別上,而且屬性無法填入時,將會取代它。
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) |