FieldInfo.IsNotSerialized プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)


IsNotSerialized プロパティは、フィールドが FieldAttributes.NotSerialized フラグでマークされている場合は、true を返します。このフラグがフィールドに設定されている場合、型がリモートならばそのフィールドをシリアル化する必要がないことを示します。

MyClass のフィールドのフィールド情報を取得し、フィールドをシリアル化できるかどうかを判断し、その結果を表示する例を次に示します。
Imports System Imports System.Reflection Imports System.Runtime.Serialization Imports Microsoft.VisualBasic <Serializable()> _ Public Class [MyClass] Public myShort As Short ' The following field will not be serialized. <NonSerialized()> Public myInt As Integer End Class '[MyClass] 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 'Main End Class 'Type_IsNotSerializable
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]); } }
using namespace System; using namespace System::Reflection; using namespace System::Runtime::Serialization; public ref class MyClass { public: short myShort; // The following field will not be serialized. [NonSerialized] int myInt; }; int main() { // Get the type of MyClass. Type^ myType = MyClass::typeid; // Get the fields of MyClass. array<FieldInfo^>^myFields = myType->GetFields( static_cast<BindingFlags>(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 serializable.", myFields[ i ] ); }
import System.*; import System.Reflection.*; import System.Runtime.Serialization.*; public class MyClass { public short myShort; // The following field will not be serialized. /** @attribute NonSerialized() */ public int myInt; } //MyClass public class TypeIsNotSerializable { public static void main(String[] args) { // Get the type of MyClass. Type myType = MyClass.class.ToType(); // 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].get_IsNotSerialized()) { Console.WriteLine("The {0} field is not serializable." , myFields.get_Item(i)); } else { Console.WriteLine("The {0} field is not serializable." , myFields.get_Item(i)); } } } //main } //TypeIsNotSerializable

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


_FieldInfo.IsNotSerialized プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)

フィールドに NotSerialized 属性が設定されている場合は true。それ以外の場合は false。

このプロパティは、アンマネージ コードからマネージ クラスにアクセスするためのプロパティであるため、マネージ コードからは呼び出さないでください。
IsNotSerialized プロパティは、このフィールドに NotSerialized 属性が設定されているかどうかを示す値を取得します。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- FieldInfo.IsNotSerializedのページへのリンク