在使用中让我感觉 好像 JavaScript中的 动态类型囧

先看动态类型

 class Program
{
static void Main(string[] args)
{
var streamReader = OpenFile(@"../../test.txt");
string[] headerLine = streamReader.ReadLine().Split(','); var retList = new List<dynamic>();
while (streamReader.Peek()>)
{
string[] dataline = streamReader.ReadLine().Split(',');
dynamic dynamicEntity = new ExpandoObject();
for (int i = ; i < headerLine.Length; i++)
{
((IDictionary<string,object>)dynamicEntity).Add(headerLine[i],dataline[i]);
}
retList.Add(dynamicEntity);
} foreach (var item in retList)
{
Console.WriteLine("{0} : {1} : {2}" ,item.Age,item.Name,item.Sex);
}
Console.ReadLine();
} private static StreamReader OpenFile(string fileName)
{
if(File.Exists(fileName))
return new StreamReader(fileName);
return null;
}
}

test.txt文件如下  所以动态类型在运行时确定他的成员以及函数,甚至我们可以把一个函数赋值给他,并且调用 是不是很像JavaScript的动态类型呢

Name,Age,Sex
Jackmo,32,nan
Jackmo1,32,nan
Jackmo2,32,nan
Jackmo3,32,nan

ScriptRuntime 目前支持 IronPython IronRuby 以及 JavaScript

还是拿来主义吧 : http://blog.csdn.net/fcc_ecjtu/article/details/6804808

05-13 13:23