在传入的对象集合中寻找两个完全相同的函数,第一个有接口的对象,我们称它为X,唯一的区别是它们给的对象有不同的接口,告诉我如何在C#中函数不是通过代码,而是通过变量来指定返回元素的类型
例子:
IMyTextPanel getTextPanel()
{
List<IMyTextPanel> TextPanels = new List<IMyTextPanel>();
GridTerminalSystem.GetBlocksOfType<IMyTextPanel>(TextPanels);
IMyTextPanel TextPanel;
if (TextPanels.Count > 0) return TextPanels[0];
return null;
}
IMyGyro getGyro()
{
List<IMyGyro> Gyros = new List<IMyGyro>();
GridTerminalSystem.GetBlocksOfType<IMyGyro>(Gyros);
IMyGyro Gyro;
if (Gyros.Count > 0) return Gyro = Gyros[0];
return null;
}
我想要类似的东西:
getCube(string interface)
{
List<interface> Cubes= new List<interface>();
GridTerminalSystem.GetBlocksOfType<interface>(Cubes);
if (Cubes.Count > 0) return Cubes[0];
return null;
}
但程序抱怨它
据我了解,函数应该有一些返回格式,比如obj,但里面我不知道应该是什么
在我看来,这是一个适合泛型的用例。
并分别称为
TextPanel tp = GetWhatever<IMyTextPanel>();
或IMyGyro gyro = GetWhatever<IMyGyro>();
。T
您可能需要对, if进行其他限制GetBlocksOfType
。