在使用中让我感觉 好像 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()>0) { string[] dataline = streamReader.ReadLine().Split(‘,‘); dynamic dynamicEntity = new ExpandoObject(); for (int i = 0; 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
时间: 2024-10-12 01:06:03