Предполагая, что у меня есть этот метод расширения:Как мне вызвать перегруженный метод расширения?
public static string ToJson(this object value, JsonSerializerSettings settings)
{
return JsonConvert.SerializeObject(value, settings);
}
И перегрузки:
private static readonly JsonSerializerSettings settings = GetTheSettingsSomeWay();
public static string ToJson(this object value)
{
return ToJson(value, settings); // (1) static call
return value.ToJson(settings); // (2) using an extension on "this"
}
Должен ли я называть перегрузки с как статический вызов или как расширение?
Это должно быть мнение, лично я бы назвал метод расширения как метод экземпляра *. Именно так они называются * в основном *. – Habib
Это вопрос мнения. Если вы вызываете метод 'static', зачем вообще использовать метод расширения? –
@YuvalItzchakov - Я хочу называть obj.ToJson() и obj.ToJson (настройки) как методы расширения на объекте. Я не хочу дублировать логику и поэтому предпочитаю создавать перегрузку, которая вызовет другой метод. Я хотел знать, какой путь лучше, поскольку оба пути будут работать. –