CA2225, IConvertible и выпуск сборки сборки

Я создаю объект, который предоставляет явные и неявные операторы приведения. Анализ кода предложил мне также создать именованные методы для сопоставления ( 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.
}

0 ответов

Другие вопросы по тегам