我正在创建一个公开显式和隐式转换运算符的对象。代码分析建议我还创建命名方法来匹配(CA2225:运算符重载已命名替代)。另外,我选择实现IConvertible
,它包含一堆 ToXXX 方法,尽管它需要一个IFormatProvider
作为参数。
其中大多数是执行相同代码的替代方法,所以我想知道在发布模式下编译时是否会优化/内联我的调用以消除性能问题,这样我就不必重复代码。
例如:
public byte ToByte()
{
// My code that I don't want to copy/paste.
}
public static explicit operator Byte(MyObject obj)
{
return obj.ToByte();
}
byte IConvertible.ToByte(IFormatProvider provider)
{
return ToByte(); //I don't care about the provider in this case.
}