C# 动态类型 以及 脚本调用(scriptRunTime)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 动态类型 以及 脚本调用(scriptRunTime)相关的知识,希望对你有一定的参考价值。

在使用中让我感觉 好像 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

 

以上是关于C# 动态类型 以及 脚本调用(scriptRunTime)的主要内容,如果未能解决你的问题,请参考以下文章

EPX-Studio脚本调用

在C#环境中动态调用IronPython脚本(一)

在unity3D: c# 怎样调用另外一个c#脚本里面东西?

Unity3D热更新之LuaFramework篇[05]--Lua脚本调用c#以及如何在Lua中使用Dotween

[原创]K8Cscan4.0之Base64/HEX密码批量加密解密插件以及源码

C#反射实例学习及注意内容