我设计一个类,MyClass,里面有个方法field,如果能实现下面的赋值方式那就最好了.
但不知道如何设计MyClass才能实现这样的意图.
MyClass x=new MyClass();
x.field("姓名")="张三";
x.update();

解决方案 »

  1.   

    用 string index 属性不是更好?
      

  2.   

    可以这样MyClass x = new MyClass();
    x.field["姓名"] = "张三";
    x.update();[align=center]********************************************************
    本内容用 CSDN小秘书 回复
    每天回帖即可获得10分可用分!********************************************************[/align]
      

  3.   

    内部放list,array即可不过个人并不建议这么玩,除非该list是调用方自己加进去滴,否则并不建议。因为调用方根本没必要知道里面有啥。如果使用前都得判定haskey,try--cacth,都得先下断点监视确定里面有啥,你觉得你这么设计有啥意义,你是在加重调用者的负担,而不是减少人家的负担
      

  4.   

    这有什么意义呢??赋值不就是set么.....实体类里面早就给你做了.
    Person p=new Person();
    p.Name="aaa";
    a.age=12;
    你要对应键值对的话..用泛型不就行了..
     Dictionary<string, string> openWith = 
                new Dictionary<string, string>();        openWith.Add("txt", "notepad.exe");
            openWith.Add("bmp", "paint.exe");
            openWith.Add("dib", "paint.exe");
            openWith.Add("rtf", "wordpad.exe");
     
      

  5.   

    x.field("姓名")="张三";
    这是不行的,不允许对函数进行赋值。可以这样
    x.field("姓名","张三");

    x.field["姓名"]="张三";
      

  6.   

    public class MyClass
    {
       Dictionary<string, string> openWith = 
      new Dictionary<string, string>();
       public void field(string key,string value)
      {
             openWith.add(key,value);
      }
    }