是这样的,我在写一个产品出厂初始化的软件,本人是电工。刚刚开始,问题如下:
    由于产品种类比较多,而且今后还会增加,不同的产品的can通讯协议不一样,我想在界面上添加can参数,然后保存起来。下次直接选产品就行。参数想用序列化类保存(有问过数据库,但是说没必要,小软件),序列化类也可,但是我保存的类里的can参数是慢慢要增加或者减少的,如何实现这一步。能不能再保存的类里有个行为添加或者减少类成员。
    纯属菜鸟,谢谢解答。

解决方案 »

  1.   

    可以,C# 4的动态语法可以运行时扩展一个对象,但是更好的做法是使用动态的、解释执行的语言。因为C#的类库包括IDE环境都不是为动态语言而专门设计的。
      

  2.   


    还是看不明白,慢慢再看了。
    给你一个简单的代码:dynamic a = new ExpandoObject();
    a.Name = "123";
    a.ID = 123;
    a.CustomValue = new SomeClass();
    注意,我们没有定义这么一个类,包含这些属性。
    甚至你可以:
    a.DoSomething = new Action(() => { Console.WriteLine("DoSomething"); });
    a.DoSomething(); //动态定义了一个方法。