我正在創建一個搜索算法,該搜索算法通過使用我創建的自定義對象搜索列表。他們共享類似的屬性,但我似乎無法「隱式」訪問這些屬性..?舉例:創建通用方法,接受具有自定義對象類型的列表並訪問類似的屬性
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