в Object- C, мы можем использовать опечатку для получения типа во время компиляции, например
Myclass *A = new A;
typeof(A) b = A;
есть ли что-то знакомое в c#?
редактировать 1
что я хочу сделать
//i have a generic function like this, and i can't change it
T getV<T>(string parm)
// i have many members with different type in a class ClassUser
ClassA a;
ClassB b;
Action<int, string, LonglonglonglongClass> c;
...
// when i initialize a ClassUser,i had to write like this
a = getV<ClassA>("a");
b = getV<ClassB>("b");
c = getV<Action<int, string, LonglonglonglongClass>>("c");
...
// as you can see , it's annoying, i'd like to write like this
a = getV<typeof(a)>("a");
b = getV<typeof(b)>("b");
c = getV<typeof(c)>("c");
...
редактировать 2
найти обходной путь
// wrap the getV
void getV2<T>(string parm ,out T ret)
{
ret = getV<T>(parm);
}
// write like this
getV2("a" ,out a);