リフレクション機能を使って実行時に型情報を取得する 言語: C# VB リフレクションによって実行時に型自身の情報を取得することができます。 取得できる情報については後述の§.Typeクラスから取得できる情報や§.メンバ情報の取得 (MemberInfo)などで解説します。 リフレクション機能を使って実行時に型情報を取得する すべて選択してコピー ダウンロード 行番号を表示する using System; using System.Reflection; class Account { public int ID { get; set; } public string Name { get; set; } public Account(int id, string name) { this.ID = id; this.Name = name; } } class Sample { static void Main() { // Accountクラスの型情報を取得する var t = typeof(Account); Console.WriteLine("Name = {0}", t.Name); Console.WriteLine("BaseType = {0}", t.BaseType); // Accountクラスのすべてのメンバ情報を取得する // (パブリックおよび非パブリックのインスタンスメンバを取得する) var members = t.GetMembers(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); foreach (var m in members) { Console.WriteLine("MemberType = {0}, Name = {1}", m.MemberType, m.Name); } } } 実行結果例 Name = Account BaseType = System.Object MemberType = Method, Name = get_ID MemberType = Method, Name = set_ID MemberType = Method, Name = get_Name MemberType = Method, Name = set_Name MemberType = Method, Name = Equals MemberType = Method, Name = Finalize MemberType = Method, Name = GetHashCode MemberType = Method, Name = GetType MemberType = Method, Name = MemberwiseClone MemberType = Method, Name = ToString MemberType = Method, Name = obj_address MemberType = Constructor, Name = .ctor MemberType = Property, Name = ID MemberType = Property, Name = Name MemberType = Field, Name = <ID>k__BackingField MemberType = Field, Name = <Name>k__BackingField 関連するページ リフレクション機能を使ってインスタンスの生成・操作を行う カスタム属性でメタデータを埋め込み、リフレクションにより埋め込んだメタデータを実行時に取得する 型情報を取得する オープンジェネリック型およびクローズジェネリック型の型情報を取得する オープンジェネリック型からクローズジェネリック型の型情報を取得する クローズジェネリック型からオープンジェネリック型の型情報を取得する ジェネリック型における型名の表記