美好的一天! 这个问题似乎很容易,但我想不出怎么做。我会将Type参数传递给function并检查变量是否具有该类型。
void foo(Type type = ) // how to pass here default value for example System.Object?
{
if (elem.GetType() is type)
{
}
}
}
编辑我有下一个课程
class Element {}
class ChildElementClass : Element {}
class SecondChildEleementClass : Element{}
还有Elements []数组,它存储了所有三个类的元素
Element[] elements;
所以,我会检索ChildElementClass的所有元素。我通过其他方式制作它,但它很有趣。
答案 0 :(得分:5)
答案 1 :(得分:2)
您可以创建一个辅助方法来传递默认值
public void foo(){
foo(typeof(object));
}
private void foo(Type type){
//
}
或者,将默认类型设置为null并在方法
中指定默认值if (type == null) {
type = typeof(object);
}
答案 2 :(得分:0)
我认为这会对你有帮助......
using System;
public class Program
{
public static void Main()
{
Test();
}
private static void Test(Type t = null)
{
if(t==null)
{
t=typeof(Object);
Console.WriteLine(t.Name);
}
}
}