双向隐式操作符重载的模式和接口名称

本文关键字:模式 接口 重载 操作符 | 更新日期: 2023-09-27 18:08:35

我最近发现了c#中隐式操作符重载的神奇之处。我想知道,如果您有隐式操作符重载的两种"方式",例如:

public static implicit operator FooType(int num)
{
    return new FooType(num);
}
public static implicit operator int(FooType fooType)
{
    return fooType.IntValue;
}
  1. 这个设计模式有名字吗?
  2. 有一个预定义的。net接口,我可以使用,说ICastable<int> ?

双向隐式操作符重载的模式和接口名称

  1. 您可以考虑实现IConvertible。(如果你的类也可以比较的东西,你可以考虑实现IComparable<T>)

  1. 如果是的话,我从来没有听说过
  2. 操作符是静态构造,在编译时解析。它们不能是任何接口
  3. 的一部分。