从方法中获取要分配给的变量的类型

本文关键字:变量 类型 分配 方法 获取 | 更新日期: 2023-09-27 18:32:16

我想创建一个方法,该方法采用动态输入参数并返回可用于填充类型化变量的动态。 有没有办法从方法中获取要分配给的变量的类型?

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;
        //...
    }    
}

我试图在StackFrame中找到一些东西,但没有运气。

任何进一步研究的术语也将不胜感激。

从方法中获取要分配给的变量的类型

有没有办法从方法中获取要分配给的变量的类型?

不。 方法无法检索有关其结果将分配到的变量的任何信息。

但是,您可以使用泛型来告诉方法您希望它返回的对象类型:

double dbl = AssignValue<double>("Hello");
public T AssignValue<T>(object valueToAssign)
{
    Type type = typeof(T);
    switch(type.Name)
    {
        //...
    }
}