這是一個軟體工程和 C# 問題。在我看來,這個問題最終會涉及 c# 可以做什么,所以我會先把它貼在這里。
我有一個專案有多個類需要訪問相同的資料集。我為具有私有Dictionary<byte[], MyCustomInterface>實體的資料集創建了一個自定義類。該類實作IDictionary<byte[], MyCustomInterface>. 對于方法和屬性,我只是包裝了私有字典的方法和屬性。然后,我添加了一些專門用于滿足我的特定需求的方法和屬性。
正如我所說,我需要訪問自定義字典及其許多類中的資料。我嘗試將自定義類設為靜態,但不能,因為它實作了介面。
我可以在后臺創建一個資料庫,但這將是一種重量級的解決方案。我以前這樣做過,但最終需要大量維護。
還有哪些其他方法可以訪問我所有課程中的同一組資料/同一課程?我需要能夠序列化/反序列化此自定義資料集并將資料保存在檔案中以供稍后檢索。我寧愿不放棄使用介面,它們真的很方便。
public class EntityDictionary : IDictionary<byte[], IDispenseEntity>
{
private Dictionary<byte[], IDispenseEntity> _backing = new(new ByteArrayComparer());
public IDispenseEntity this[byte[] key]
{
get => _backing[key];
set => _backing[key] = value;
}
public ICollection<byte[]> Keys => _backing.Keys;
public ICollection<IDispenseEntity> Values => _backing.Values;
...
//My custom properties and methods
}
uj5u.com熱心網友回復:
單例模式?
public class EntityDictionary : IDictionary<byte[], IDispenseEntity>
{
private EntityDictionary() {}
static EntityDictionary() {}
private static _instance = new EntityDictionary();
public static Instance { get { return _instance; }}
...
}
所以只有一個字典是所有用戶共享的,你不能創建自己的實體,只能使用單個實體。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329496.html
