定义如下:
public class Class_A
{
    public string val;
    public A()
    {
         this.val="test";
     }
}
public Class_A tester;
C#是否能够实现 string _str=tester;等同于string _str=tester.val?
就是说访问这个对象就能直接访问到这个对象中的某个值?

解决方案 »

  1.   

    如果该对象中的值公开,即是PUBLIC 就可以直接访问哈如果是private就只有用对象的方法和属性来访问了
      

  2.   

    楼主,刚看了一下Operator,发现只有“=”号不能重载,那就没办法啦。C++就可以。
      

  3.   

    public Class_A tester;
    string _str=tester;左边字符型,右边Class_A对象,怎么等??
    那你还实例化对象有什么用..不过建议你用静态变量,无须实例化对象public class Class_A
    {
        public static string val="test";
        public A()
         {
             
         }
    }
    调用:sting thisString=Class_A.val;  //这里直接调用类的静态边量,无须new Class_A
      

  4.   

    To weisunding(鼎鼎):
            就是说没有办法?C#无法实现喽?那么用索引呢?如果我索引的不是一个IList的实现,只是string就不行?
      

  5.   

    对不起,刚才看错了可以的哈你看下面这段代码using System;namespace tester
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
    public string bbb; public override string ToString()
    {
    return this.bbb;
    } /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
    //
    // TODO: 在此处添加代码以启动应用程序
    //

    Class1 c1 = new Class1();
    c1.bbb = "sd";

    Console.WriteLine(c1);
    Console.ReadLine();
    }
    }
    }
      

  6.   

    可以
    public class Class_A
    {
        public string val;
        public A()
        {
             this.val="test";
         }
         public static implicit operator String( Class_A ca )
        {
                   return ca.val;
         }
    }
      

  7.   

    public override string ToString()
    {
    return this.bbb;
    }
    重载ToString()正解。朋友们可以记得或用这个方法。str = a.ToString();
      

  8.   

    string _str=tester
    这样当然不行,一边是string一边是class,怎么能附值呢?解决方法应该是在class中加属性.
    public class Class_A
    {
        public string val;
        public A()
        {
             this.val="test";
        }
        public string Var
       {
          get
          {
            return val;
          }
          set
          {
            val = value;
          }
       }
    }public Class_A tester;
    string _str=tester.Val