CSharp/メタプログラミング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(CSharp/メタプログラミング);
*目次 [#nc49c318]
#contents
*参考情報 [#b1b49ebc]
*Type [#kf219ecd]
**typeofで取得 [#j0a529c7]
typeof(クラス)で取得できる。
typeof(Window)
**GetTypeで取得 [#k44051e4]
objectクラスのインスタンスメソッドGetType()で取得できる
Type type = obj.GetType()
**オブジェクトを生成 [#a76509c2]
Activator.CreateInstance(type)で可能。
Object o = Activator.CreateInstance(t);
*プロパティの設定・取得 [#j31b55a2]
-TypeからPropertyInfoをGetPropertyで取得し、PropertyInfo...
-PropertyInfoの機能を学習するためのテストのサンプルコード。
#pre{{
public class Person
{
public string Name { get; set; }
}
[TestClass]
public class PropertyInfoTest
{
[TestMethod]
public void TestSetGet()
{
Person person = new Person() { Name = "中田英...
Assert.AreEqual("中田英寿", person.Name);
Type type = typeof(Person);
PropertyInfo pi = type.GetProperty("Name");
pi.SetValue(person, "中村俊輔", null);
Assert.AreEqual("中村俊輔", pi.GetValue(perso...
Assert.AreEqual("中村俊輔", person.Name);
}
}
}}
終了行:
&tag(CSharp/メタプログラミング);
*目次 [#nc49c318]
#contents
*参考情報 [#b1b49ebc]
*Type [#kf219ecd]
**typeofで取得 [#j0a529c7]
typeof(クラス)で取得できる。
typeof(Window)
**GetTypeで取得 [#k44051e4]
objectクラスのインスタンスメソッドGetType()で取得できる
Type type = obj.GetType()
**オブジェクトを生成 [#a76509c2]
Activator.CreateInstance(type)で可能。
Object o = Activator.CreateInstance(t);
*プロパティの設定・取得 [#j31b55a2]
-TypeからPropertyInfoをGetPropertyで取得し、PropertyInfo...
-PropertyInfoの機能を学習するためのテストのサンプルコード。
#pre{{
public class Person
{
public string Name { get; set; }
}
[TestClass]
public class PropertyInfoTest
{
[TestMethod]
public void TestSetGet()
{
Person person = new Person() { Name = "中田英...
Assert.AreEqual("中田英寿", person.Name);
Type type = typeof(Person);
PropertyInfo pi = type.GetProperty("Name");
pi.SetValue(person, "中村俊輔", null);
Assert.AreEqual("中村俊輔", pi.GetValue(perso...
Assert.AreEqual("中村俊輔", person.Name);
}
}
}}
ページ名: