我不知道这是否容易,没有人在寻找,但我没有找到任何东西......
我想做以下事情:
public class foo
{
string X
{
get;
set
{
//set and do some other stuff
}
}
//some other functions
}
主:
private foo = new foo();
foo = "bla";
如何在不使用bla
的情况下直接将此foo
分配给班级变量foo.X = "bla"
?
数据类型如何执行此操作,例如字符串?
它们是如何制作的?
因为我可以做string y; y = "abc"
?
答案 0 :(得分:21)
您在寻找隐式运算符吗?
public class foo {
string X {
get;
set;
}
public static implicit operator foo(string value) {
return new foo() {
X = value
};
}
}
请注意,这里没有构造函数调用 这将被隐式地调用(从而创建一个新的foo实例):
private foo myFoo = "bla";
答案 1 :(得分:-2)
我认为你的意思是:
private foo = new foo();
foo.X = "bla";
不? 所以这将是:
private foo = new foo() {
X = "bla"
};
X需要公开。 我理解你了吗?