C# 从方法中获取要分配给的变量的类型
我想创建一个方法,该方法接受一个动态输入参数,并返回一个可用于填充类型化变量的动态参数。是否有一种方法可以从方法中获取要分配给的变量的类型C# 从方法中获取要分配给的变量的类型,c#,C#,我想创建一个方法,该方法接受一个动态输入参数,并返回一个可用于填充类型化变量的动态参数。是否有一种方法可以从方法中获取要分配给的变量的类型 double dbl = AssignValue("Hello"); public dynamic AssignValue(dynamic ValueToAssign) { Type type = //do something to get the type of variable "dbl" switch (type.Name)
double dbl = AssignValue("Hello");
public dynamic AssignValue(dynamic ValueToAssign)
{
Type type = //do something to get the type of variable "dbl"
switch (type.Name)
{
case "Double":
return double.Parse(AssignValue);
break;
case "Decimal":
return decimal.Parse(AssignValue);
break;
//...
}
}
我试图在堆栈框架中找到一些东西,但没有成功
任何需要进一步研究的术语都将不胜感激
是否有一种方法可以从方法中获取要分配给的变量的类型
double dbl = AssignValue("Hello");
public dynamic AssignValue(dynamic ValueToAssign)
{
Type type = //do something to get the type of variable "dbl"
switch (type.Name)
{
case "Double":
return double.Parse(AssignValue);
break;
case "Decimal":
return decimal.Parse(AssignValue);
break;
//...
}
}
不可以。方法无法检索有关其结果将分配给的变量的任何信息
但是,您可以使用泛型告诉方法您希望它返回的对象类型:
double dbl = AssignValue<double>("Hello");
public T AssignValue<T>(object valueToAssign)
{
Type type = typeof(T);
switch(type.Name)
{
//...
}
}
double dbl=AssignValue(“Hello”);
公共赋值(要指定的对象值)
{
类型=类型(T);
开关(类型.名称)
{
//...
}
}
typeOf(ValueToAssign)或ValueToAssign.GetType(),这是完全不可能的。@Dr.Stitch:他想要的是double
,而不是string
。另外,typeof(variable)
是非法的。是的,我刚才提到了如何获取变量的类型。好的,我现在正在研究这些。我想我假设这是可能的,因为你可以做类似的事情,比如,使用StackFrame来获取调用方法的名称,比如:好的,告诉我这不可能是一个很好的答案,所以我将使用你提供的这个选项。非常感谢!