开发者

setting value to the instance of primitive types

开发者 https://www.devze.com 2023-01-03 14:23 出处:网络
I have a function which performs some operation i.e. fetches some data from database. The generic it takes is primitive type always i.e. int, char, bool, string etc. I can easily create its instance.

I have a function which performs some operation i.e. fetches some data from database. The generic it takes is primitive type always i.e. int, char, bool, string etc. I can easily create its instance. But I can't set the value that I have fetched from database to this instance.

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

开发者_如何学Python    object result=FetchData();

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

The function is called as:

int result = PerformOperation<int>();

Is there some way of casting the object Type to any generic type which is always primitive?


When you already have type T, why box it into Object unnecessary.

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

    T result = FetchData();

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

or may be this way, if you must use Object.

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

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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号