【发布时间】:2019-10-11 02:21:12
【问题描述】:
我有几个隐式转换运算符重载,它们都使用完全相同的代码。我将如何重构它? 我希望能够灵活地添加更多隐式运算符重载,而无需每次都更改类。
我试图想出一种可能会派上用场的设计模式。想到了构建器或策略,但我不确定。
注意:Binary.ToBitArray() 有 3 种方法重载 - 一种采用字符串参数,一种采用 int 参数,另一种采用 long 参数。这就是我能够使用相同代码的方式。
public static implicit operator Register(string binaryNumber)
{
//Converting binaryNumber into a BitArray
BitArray registerBits = Binary.ToBitArray(binaryNumber);
return new Register(registerBits);
}
public static implicit operator Register(int binaryNumber)
{
//Converting binaryNumber into a BitArray
BitArray registerBits = Binary.ToBitArray(binaryNumber);
return new Register(registerBits);
}
public static implicit operator Register(long binaryNumber)
{
//Converting binaryNumber into a BitArray
BitArray registerBits = Binary.ToBitArray(binaryNumber);
return new Register(registerBits);
}
【问题讨论】:
标签: c#