У меня есть свойство
public Func<string, SomeDataTable> GetContactFromAlias { get; set; }
, которое я хочу передать / использовать откуда-то еще, и несколько перегруженных функций
public SomeDataTable GetContact(string alias);
public SomeDataTable GetContact(string something, string other);
public SomeDataRow GetContact(Guid id);
. C# автоматически определяет правильную версию функции с учетом указанных параметров? В моем случае это работает, но мне интересно, поскольку обычно левая часть задания (насколько мне известно) не учитывается.
GetContactFromAlias = SomeClass.GetContact;
В конце концов, с помощью этой записи я не могу определить функцию Я хочу использовать. Конечно, я мог бы сделать что-то вроде
GetContactFromAlias = (alias) => SomeClass.GetContact(alias);
, но это не так легко прочитать. Тем не менее, следует ли мне использовать последнюю версию, если компилятор решит по-разному относиться к присваиванию, и оно сломается? Или работает какой-то умный механизм, который выбирает правильную перегрузку?