【发布时间】:2021-09-24 01:03:57
【问题描述】:
我有一个方法,它采用某种继承类型的对象并在内部数据结构中搜索它...
public (bool,Point) GetItemPosition(IMyBaseType type)
{
...
}
所以上述方法的使用会是这样的:
var (isFound, location) = myDataContainer.GetItemPosition(myDataItem);
在数据结构类中,我想利用搜索方法。但是,我不想创建所需数据项的实例(因为这会产生开销)——我只想将类类型作为值传递。目前,我正在创建一个数据项实例...
public bool AddTarget()
{
var (hasTarget, location) = GetItemPosition(new SomeDataItem().GetType() as IMyBaseType, 0, 0);
...
}
如何传递类类型本身?
【问题讨论】:
-
您的意思是
GetItemPosition将搜索具有传入类型的任何内容,而不是Equals传入对象的任何内容?传入的类型在编译时是否总是已知的? -
是的,是的。我希望搜索传入的类型,但要确保它属于某个基类。
-
我意识到我对
GetItemPosition的定义在这里并不好。第一个参数需要更改为接受类型而不是实例的东西 - 但这是我的问题。
标签: c# .net-core types method-parameters