こんにちは。
Windows10でWPFのアプリケーションを開発しています。
Visual Studio 2017 proを使っています。
###前提・実現したいこと
System.Reflection.MemberInfoで取得したPropertyをあとで呼ぶためにListにしたい。
###発生している問題・エラーメッセージ
System.Reflection.MemberInfoをmyclassにキャストできない。
###該当のソースコード
C#
1using System; 2using System.Reflection; 3using System.Linq; 4 5public class MySheet 6{ 7 List<myclass> CheckedItems = new List<myclass>();//この型でOK? 8 9 static void Main(string[] args) 10 { 11 var sheet = new MySheet(); 12 sheet.SetItem("section", "Tokyo"); 13 System.Console.WriteLine(sheet.section); 14 } 15 16 internal void SetItem(string keyword, string value) 17 { 18 var member = typeof(MySheet).GetMembers( 19 BindingFlags.Public | BindingFlags.NonPublic | 20 BindingFlags.Instance | BindingFlags.Static | 21 BindingFlags.DeclaredOnly) 22 .Where(m => m.Name.Contains(keyword)) 23 .Where(m => m.MemberType == MemberTypes.Property) 24 .FirstOrDefault(); 25 26 ((PropertyInfo)member).SetValue(this, new myclass(value), null); 27 CheckedItems.Add(member); 28 } 29 30 public virtual myclass FiscalYear { get; set; } 31 public virtual myclass YearMonth { get; set; } 32 public virtual myclass OutputDate { get; set; } 33 public virtual myclass mycode { get; set; } 34 public virtual myclass section { get; set; } 35 36public class myclass{ 37 public string Name; 38 39 public myclass(string name){ 40 this.Name = name; 41 } 42} 43 44
###補足情報(言語/FW/ツール等のバージョンなど)
Microsoft Visual Studio Community 2017
Version 15.0.26228.9 D15RTWSVC
Microsoft .NET Framework
Version 4.6.01586
です。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/22 05:36