Мне было интересно, возможно ли следующее. Создайте класс, который принимает анонимный тип (строка, int, decimal, customObject и т.д.), А затем перегруженные методы, которые выполняют разные операции на основе типа. Пример
class TestClass<T>
{
public void GetName<string>()
{
//do work knowing that the type is a string
}
public string GetName<int>()
{
//do work knowing that the type is an int
}
public string GetName<int>(int addNumber)
{
//do work knowing that the type is an int (overloaded)
}
public string GetName<DateTime>()
{
//do work knowing that the type is a DateTime
}
public string GetName<customObject>()
{
//do work knowing that the type is a customObject type
}
}
Итак, теперь я могу вызвать метод GetName и потому, что я уже передал тип при инициализации объекта, правильный метод найден и выполнен.
TestClass foo = new TestClass<int>();
//executes the second method because that the only one with a "int" type
foo.GetName();
Возможно ли это, или я просто мечтаю?