将Class作为参数传递以与typeof()一起使用

时间:2016-06-10 07:48:12

标签: c#

我有一个委托功能:

myDelegate md = cls => String.Format("blahblah: {0}", typeof(cls).FullName));

我想在Class作为参数cls传递,该typeof()将在md(System.String); // => blahblah: System.string 中使用。

使用示例:

cls

为输入参数Class定义什么类型,以便能够将任何<div class="slidetpl"> <img src > </div> 传递到我的函数中?

2 个答案:

答案 0 :(得分:2)

您要查找的类型是Type

像这样使用:

myDelegate md = cls => String.Format("blahblah: {0}", cls.FullName));
md(typeof(System.String));

您还可以使用泛型来获得类似的结果

public static string TypePrinter<T>()
{
    return String.Format("blahblah: {0}", typeof(T).FullName));
}
TypePrinter<System.String>();

答案 1 :(得分:1)

你在寻找类似的东西 -

Func<Type,string> fn = t => string.Format("blah from - {0}",t.FullName);
Console.WriteLine(fn(typeof(Int32))); //blah from - System.Int32