我正在创建一个搜索算法,该搜索算法通过使用我创建的自定义对象搜索列表。他们共享类似的属性,但我似乎无法“隐式”访问这些属性..?举例:创建通用方法,接受具有自定义对象类型的列表并访问类似的属性
public class Exit{
int ID {get;set;}
}
public class Room{
int ID {get;set;}
}
static void Main(string[] args){
List<Exit> exits = new List<Exit>();
List<Room> rooms = new List<Room>();
// added numerous instances of objects to both lists
int getExitID = _GetIDFromList(exits, 2); //example
int getRoomID = _GetIDFromList(rooms, 7); //example
}
private int _GetIDFromList<T>(List<T> list, int indexOfList){
return list[indexOfList].ID; // this gives me error it can't find ID
}
这可能吗?我需要修改什么,我必须做到这一点?
谢谢。
创建这两者的类都实现一个共同的接口。然后,你可以很容易地添加一个通用的约束你的方法,像'int _GetIDFromList(列表列表,int indexOfList)其中T:MyInterface' –
HimBromBeere