首先,您需要按原样定义“主键”,即每个对象唯一的一组字段。我想Key-Serial
应该是那个系列的一部分,但肯定还有其他的。一旦定义了“主键”,您就可以定义一个表示 a 的结构Key Value
并将其用作包含您的产品的字典的键。
例子:
struct ProductPrimaryKey
{
public string KeySerial;
public string OtherDiscriminator;
public ProductPrimaryKey(string keySerial, string otherDiscriminator)
{
KeySerial = keySerial;
OtherDiscriminator = otherDiscriminator;
}
}
class Product
{
public string KeySerial { get; set; }
public string OtherDiscriminator { get; set; }
public int MoreData { get; set; }
}
class DataLayer
{
public Dictionary<ProductPrimaryKey, Product> DataSet
= new Dictionary<ProductPrimaryKey, Product>();
public Product GetProduct(string keySerial, string otherDiscriminator)
{
return DataSet[new ProductPrimaryKey(keySerial, otherDiscriminator)];
}
}