定义如下:
public class Class_A
{
public string val;
public A()
{
this.val="test";
}
}
public Class_A tester;
C#是否能够实现 string _str=tester;等同于string _str=tester.val?
就是说访问这个对象就能直接访问到这个对象中的某个值?
public class Class_A
{
public string val;
public A()
{
this.val="test";
}
}
public Class_A tester;
C#是否能够实现 string _str=tester;等同于string _str=tester.val?
就是说访问这个对象就能直接访问到这个对象中的某个值?
string _str=tester;左边字符型,右边Class_A对象,怎么等??
那你还实例化对象有什么用..不过建议你用静态变量,无须实例化对象public class Class_A
{
public static string val="test";
public A()
{
}
}
调用:sting thisString=Class_A.val; //这里直接调用类的静态边量,无须new Class_A
就是说没有办法?C#无法实现喽?那么用索引呢?如果我索引的不是一个IList的实现,只是string就不行?
{
/// <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();
}
}
}
public class Class_A
{
public string val;
public A()
{
this.val="test";
}
public static implicit operator String( Class_A ca )
{
return ca.val;
}
}
{
return this.bbb;
}
重载ToString()正解。朋友们可以记得或用这个方法。str = a.ToString();
这样当然不行,一边是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