У нас есть унаследованное приложение, у которого есть такой класс:
public class Person
{
private PersonType _type;
public PersonType GetPersonType()
{
return _type;
}
}
PersonType - это базовый класс нескольких типов людей (Пользователь, Клиент и ...)
, поэтому каждыйраз, когда мы хотим, чтобы тип сделал что-то с ним, мы должны привести его следующим образом:
var userType=(User)Person.GetPersonType();
Тогда я подумал, что, может быть, у нас может быть общая перегрузка, подобная этой:Поэтому я добавил перегруженный метод в класс.Позже я обнаружил, что есть другой код, который использует отражение, чтобы получить первый метод:
var methodInfo=person.GetType().GetMethod("GetPersonType");
, но так как я добавил эту перегрузку, мы получаем неоднозначное исключение метода. Я попытался найти способ как-то отличитьточная перегрузка, которую я искал безуспешно.Итак, вопрос в том, как мы можем получить неуниверсальную информацию о перегрузке?(Как я уже сказал, это устаревшее приложение, созданное с использованием framework 2, и мы не можем использовать Linq и \ или Extensions.)