带IDictionary的C#嵌套反射集值
如何设置嵌套对象的值?以下是我的课程:带IDictionary的C#嵌套反射集值,c#,reflection,C#,Reflection,如何设置嵌套对象的值?以下是我的课程: public class MyPage<MyData> { public MyData Content {get;set;} } public class MyData { public IDictionary<string, string> Text { get;set; } } 要设置的值 var value = "hello world!"; 要设置的对象 var page = new MyPage&
public class MyPage<MyData> {
public MyData Content {get;set;}
}
public class MyData {
public IDictionary<string, string> Text { get;set; }
}
要设置的值
var value = "hello world!";
要设置的对象
var page = new MyPage<MyData>();
var page=new MyPage();
请注意,内容为空,文本为空。我想在设置文本[“Main”]=“hello world!”时创建
谢谢。您的代码可以工作,您必须初始化所有内容才能使其工作。要使用这些类,您需要执行以下操作:
MyPage<MyData> myPage = new MyPage<MyData>();
myPage.Content = new MyData();
myPage.Content.Text = new Dictionary<string, string>();
myPage.Content.Text["foo"] = "bar";
myPage.Content.Text["fizz"] = "buzz";
foreach (var item in myPage.Content.Text)
{
Console.WriteLine(item.Key + item.Value);
}
MyPage MyPage=new MyPage();
myPage.Content=newmydata();
myPage.Content.Text=新字典();
myPage.Content.Text[“foo”]=“bar”;
myPage.Content.Text[“fizz”]=“buzz”;
foreach(myPage.Content.Text中的变量项)
{
Console.WriteLine(item.Key+item.Value);
}
您可能想做的是更改类以执行以下操作。这样,在创建MyPage类时,所有对象都已初始化。此外,我认为没有必要添加到MyPage,因为您将其限制为
public class MyPage
{
public MyPage()
{
Content = new MyData();
}
public MyData Content { get; set; }
}
public class MyData
{
public MyData()
{
Text = new Dictionary<string, string>();
}
public IDictionary<string, string> Text { get; private set; }
}
公共类MyPage
{
公共MyPage()
{
内容=新的MyData();
}
公共MyData内容{get;set;}
}
公共类MyData
{
公共MyData()
{
Text=新字典();
}
公共IDictionary文本{get;private set;}
}
请显示您当前的代码,并告诉我们哪些代码无法使用。
public class MyPage
{
public MyPage()
{
Content = new MyData();
}
public MyData Content { get; set; }
}
public class MyData
{
public MyData()
{
Text = new Dictionary<string, string>();
}
public IDictionary<string, string> Text { get; private set; }
}