gpt4 book ai didi

c# - 动态分配字段

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:04 24 4
gpt4 key购买 nike

我有如下属性集:

public string Foo1 {set;get;}
public string Foo2 {set;get;}
public string Foo3 {set;get;}
public string Foo4 {set;get;}
public string Foo5 {set;get;}
public string Foo6 {set;get;}
public string Foo7 {set;get;}
public string Foo8 {set;get;}
public string Foo9 {set;get;}
......
public string Foo50 {set;get;}

然后我按如下方式遍历集合:

foreach(var element in sortedCollection.Keys){
if(element != null)
// in this block I would like to assign the element to the properties above
// ex:
foo?? = sortedCollection[element];
// ?? need to be replaced by index.
}

有没有简单的方法来做到这一点?

最佳答案

我认为更好的设计是:

public List<string> Foos { get; private set; }

如果你不能改变它,你可能会做这样的事情:

var type = typeof(MyCalss);
int index = 1;
foreach (var key in sortedCollection.Keys)
{
var value = sortedCollection[key];
var prop = type.GetProperty("Foo" + index);
if (prop != null) prop.SetValue(this, value, null);

index++;
}

...当然有一些错误处理,并且 this 假定这是您类中的一个方法。您能否根据 sortedCollection 中的值确定索引?

关于c# - 动态分配字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7675793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com