gpt4 book ai didi

c# - 有没有办法将参数传递给 is 运算符?

转载 作者:可可西里 更新时间:2023-11-01 07:49:54 26 4
gpt4 key购买 nike

我正在尝试找到以下替代方法,以便我可以利用 is 运算符。

public bool IsOfType(Type type)
{
return this._item.GetType() == type;
}

类似于下面的内容,无法编译。

public bool IsOfType(Type type)
{
return this._item is type;
}

最佳答案

我认为您正在寻找 Type.IsAssignableFrom :

public bool IsOfType(Type type)
{
return _item != null && type.IsAssignableFrom(_item.GetType());
}

或者,如果您可以使该方法成为通用方法,那就更简单了,因为您可以使用带有类型参数的is:

public bool IsOfType<T>()
{
return _item is T;
}

编辑:如 Wim 的回答所述,还有 Type.IsInstanceOf这使得非泛型方法更简单:

public bool IsOfType(Type type)
{
return type.InstanceOf(_item);
}

关于c# - 有没有办法将参数传递给 is 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17827485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com