FieldInfo.IsNotSerialized Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dikkat
Formatter-based serialization is obsolete and should not be used.
Bu alanın özniteliğine sahip NotSerialized olup olmadığını gösteren bir değer alır.
public:
property bool IsNotSerialized { bool get(); };
[System.Obsolete("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public bool IsNotSerialized { get; }
public bool IsNotSerialized { get; }
[<System.Obsolete("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
member this.IsNotSerialized : bool
member this.IsNotSerialized : bool
Public ReadOnly Property IsNotSerialized As Boolean
Özellik Değeri
true alanında NotSerialized öznitelik ayarlanmışsa; aksi takdirde , false.
Uygulamalar
- Öznitelikler
Örnekler
Aşağıdaki örnek, MyClass alanlarının alan bilgilerini alır, alanların serileştirilip serileştirilebileceğini belirler ve sonuçları görüntüler.
using System;
using System.Reflection;
using System.Runtime.Serialization;
public class MyClass
{
public short myShort;
// The following field will not be serialized.
[NonSerialized()]
public int myInt;
}
public class Type_IsNotSerializable
{
public static void Main()
{
// Get the type of MyClass.
Type myType = typeof(MyClass);
// Get the fields of MyClass.
FieldInfo[] myFields = myType.GetFields(BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Instance |
BindingFlags.Static);
Console.WriteLine("\nDisplaying whether or not the field is serializable.\n");
// Display whether or not the field is serializable.
for(int i = 0; i < myFields.Length; i++)
if(myFields[i].IsNotSerialized)
Console.WriteLine("The {0} field is not serializable.", myFields[i]);
else
Console.WriteLine("The {0} field is not serializable.", myFields[i]);
}
}
Imports System.Reflection
Imports System.Runtime.Serialization
<Serializable()> _
Public Class [MyClass]
Public myShort As Short
' The following field will not be serialized.
<NonSerialized()> Public myInt As Integer
End Class
Public Class Type_IsNotSerializable
Public Shared Sub Main()
' Get the type of MyClass.
Dim myType As Type = GetType([MyClass])
' Get the fields of MyClass.
Dim myFields As FieldInfo() = myType.GetFields((BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.Static))
Console.WriteLine(ControlChars.Cr & "Displaying whether or not the field is serializable." & ControlChars.Cr)
Console.WriteLine()
' Displaying whether or not the field is serializable.
Dim i As Integer
For i = 0 To myFields.Length - 1
If myFields(i).IsNotSerialized Then
Console.WriteLine("The {0} field is not serializable.", myFields(i))
Else
Console.WriteLine("The {0} field is serializable.", myFields(i))
End If
Next i
End Sub
End Class
Açıklamalar
özelliği, IsNotSerialized alan bayrakla true işaretlendiğinde döndürürFieldAttributes.NotSerialized. Bu bayrak bir alanda ayarlandığında, tür uzak olduğunda alanın seri hale getirilmemesi gerektiğini gösterir.