FieldInfo.IsNotSerialized Свойство

Определение

Внимание!

Formatter-based serialization is obsolete and should not be used.

Возвращает значение, указывающее, установлен ли для этого поля атрибут NotSerialized.

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}")]
public bool IsNotSerialized { get; }

Значение свойства

Значение true, если для поля задан атрибут NotSerialized, в противном случае — значение false.

Реализации

Атрибуты

Примеры

Следующий пример получает сведения о полях MyClass, определяет, можно ли сериализовать поля, и отображает результаты.

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]);
    }
}

Комментарии

Свойство IsNotSerialized возвращает значение true , когда поле отмечено флагом FieldAttributes.NotSerialized . Если этот флаг установлен для поля, он указывает, что при удаленном использовании типа это поле не требуется сериализовать.

Применяется к

Продукт Версии (Устарело)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 (8, 9)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел