c#语言中的变量名,在C#中创建动态变量名

如果你坚持使用当前的设计(CSV字典),你可以使用ExpandoObject类来获得你想要的东西,创建一个简单的工厂类:

public static class ObjectFactory

{

public static dynamic CreateInstance(Dictionary objectFromFile)

{

dynamic instance = new ExpandoObject();

var instanceDict = (IDictionary)instance;

foreach (var pair in objectFromFile)

{

instanceDict.Add(pair.Key, pair.Value);

}

return instance;

}

}

这个工厂将创建你给它的任何字典的对象实例,即只创建一个方法来创建所有不同类型的对象.像这样用它:

// Simulating load of dictionary from file

var actorFromFile = new Dictionary();

actorFromFile.Add("Id", "1");

actorFromFile.Add("Age", "37");

actorFromFile.Add("Name", "Angelina Jolie");

// Instantiate dynamically

dynamic actor = ObjectFactory.CreateInstance(actorFromFile);

// Test using properties

Console.WriteLine("Actor.Id = " + actor.Id +

" Name = " + actor.Name +

" Age = " + actor.Age);

Console.ReadLine();

希望这会有所帮助. (是的,她出生于1975年)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值