可以将类型对象传递给在C#中接受未知var类型的构造函数吗?

时间:2014-10-21 18:02:29

标签: c# .net

我一直在寻找一种方法在c#中传递一个未知类型的对象,而不会抛出对象?

基本上我使用反射来获取类的构造函数参数,并且我将变量作为对象传递给构造函数,但我发现没有办法动态转换变量... < / p>

代码示例:

public class bClass {
    public bClass(string c) {
        d = c;
    }
}

object a = "asdfasdf";
bClass b = new bClass(a);

我已经能够使用

获取构造函数中接受的变量类型bClass
var obj = typeof(bClass).GetConstructors();
foreach(var nObj in obj) {
    foreach(var param in nObj) {
        string sAObjectType = param.ParameterType;
    }
}

但是,我不确定如何将'a'转换为输入sAObjectType,任何想法都非常感激=]

谢谢!

1 个答案:

答案 0 :(得分:0)

如何使用泛型 - 那么你不必担心转换等问题。

public class bClass<T> 
{
    privat T d;

    public bClass(T c)
    {
        d = c
    }
}

然后下面的内容就可以了。

bClass b1 = new bClass( "1234" );
bClass b2 = new bClass( 12 );
...
相关问题