На C# можно реализовать что-то вроде этого:
var provider = options.isBinary ? new BinaryProvider() : new NonBinaryProvider()
И BinaryProvider, и NonBinaryProvider реализуют IProvider.
public interface IProvider
{
T GetValue(string traceId);
T GetValue(ulong sessionId);
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... sbinary-ne
Мобильная версия