FieldInfo.IsNotSerialized Özellik

Tanım

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.

Şunlara uygulanır

Ayrıca bkz.