我知道属性可以设置为单一类型并且一旦设置就不能更改,但是有没有办法创建一个property
或一个property-like object
设置一个 int
而返回一个 string
?
我一直在创建类似 int
的变量,稍后将仅用作 string
并且永远不会用作 int
一次放。因此,在那种情况下,考虑到它不仅仅是一种类型到另一种类型,我总是必须进行大量转换。
最佳答案
也许是这样的
struct strint
{
private int i; // 0 by default
public static implicit operator strint(int value) {
return new strint { i = value };
}
public static implicit operator string(strint value) {
return value.i.ToString();
}
public static implicit operator int(strint value) {
return value.i;
}
}
示例使用:
strint a = 1;
a += 2; // 3
int i = a; // 3
string s = a; // "3"
关于c# - 设置类型并返回不同类型的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38047017/