双向隐式运算符重载的模式名称和接口

MPe*_*ier 2 .net c# design-patterns interface operator-overloading

我最近在C#中发现了隐式运算符重载的奇迹.我想知道,如果你有两种隐式运算符重载的"方式",例如:

public static implicit operator FooType(int num)
{
    return new FooType(num);
}

public static implicit operator int(FooType fooType)
{
    return fooType.IntValue;
}
Run Code Online (Sandbox Code Playgroud)
  1. 那个设计模式有名字吗?
  2. 我可以使用预定义的.NET接口ICastable<int>吗?

Eri*_*ert 6

  1. 不是我知道的.

  2. 你可以考虑实施IConvertible.(如果您的课程也可以事物进行比较,您可以考虑实施IComparable<T>.)