将值设置为基本类型的实例

时间:2010-06-17 05:04:13

标签: c# types instance primitive

我有一个执行某些操作的功能,即从数据库中提取一些数据。 它所采用的泛型是原始类型,即int,char,bool,string等。我可以轻松地创建它的实例。但我无法将从数据库中获取的值设置为此实例。

public T PerformOperation<T>()
{    
    object instance = (T)Activator.CreateInstance(typeof(T));

    object result=FetchData();

    instance = (T)result; //It gives error on this statement
}

该函数被称为:

int result = PerformOperation<int>();

是否有某种方法可以将对象Type转换为总是原始的任何泛型类型?

1 个答案:

答案 0 :(得分:1)

当你已经有了类型T时,为什么要把它装入Object中。

public T PerformOperation<T>()
{    
    T instance = (T)Activator.CreateInstance(typeof(T)); // why do you need this ?

    T result = FetchData();

    //instance = (T)result;
    return result;
}

或者可能是这种方式,如果您必须使用Object

public T PerformOperation<T>()
{    
    //object instance = (T)Activator.CreateInstance(typeof(T));    
    //object result=FetchData();

    return (T)FetchData(); // If I could get you correctly.
}