簡體   English   中英

從方法中獲取分配給變量的類型

[英]Get the Type of a Variable Being Assigned to From Within a Method

我想創建一個采用動態輸入參數並返回一個可用於填充類型變量的動態方法。 有沒有辦法從方法中獲取分配給變量的類型?

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)
    {
        //...
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM