c# - 设置类型并返回不同类型的属性

标签 c# variables properties

我知道属性可以设置为单一类型并且一旦设置就不能更改,但是有没有办法创建一个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/

相关文章:

python - 这个全局类变量如何兼容 pep8 并且仍然有效?

javascript - 有多少种方法可以查看您手动添加到函数的所有属性? JavaScript。 JS

c# - SaveJpeg 导致 "shadows"具有透明度的伪影

c# - Web API 中出现 404 Not Found 时返回自定义消息

variables - ansible:从主机获取网络IP

javascript - 如何在不使用 JavaScript (Firefox) 中的 for-in 循环的情况下获取对象的所有属性?

C# 错误消息 "Property can not be assigned to -- it is read only."

c# - 可空属性与可空局部变量

c# - 如何在 MongoDB 中为不同的字段名称注册 ScalarDiscriminatorConvention?

java - 为什么不能调用已经在循环中初始化并预先声明的变量?