public class Table<T> where T:SomeClassWithIntegerID
{
private Dictionary<int, T> map = new Dictionary<int, T>();
public bool isInMemory(int id)
{
if (map.ContainsKey(id))
return true;
return false;
}
public T setIt(T obj)
{
map[obj.id] = obj;
}
public T getIt(int id)
{
return map[id];
}
}
例:
private static Table<User> table = new Table<User>;
class User : SomeClassWithIntegerID
{
public string name { get; set; }
public string password { get; set; }
}
class SomeClassWithIntegerID
{
public int id { get; set; }
}
これで、特定のIDを持つユーザーを保持しているかどうかを確認できます。これは、それをキーとして使用しているためですが、保持がボブなどで保持Table
されているかどうかを確認する方法がありません。私は次のようなことができるようになりたいのですが、ジェネリック型でそれはどのように可能ですか?Table
User
name
table.isInMemory(name, "bob")
エンドユーザーがフィールドとそのフィールドの期待値を指定できる関数を作成する必要があります。その後、Tableは、ディクショナリに格納されているそのクラスのすべてのオブジェクトを調べて、その値に一致するフィールドがあるかどうかを確認します。 。
これは可能ですか?