1
我想,以防止有人用模擬的方式進行交互,他不應該。唯一允許的方法是實現接口「IInteraction」的方法並將此交互添加到列表中。 SimulationController然後遍歷該列表並在適當的時間執行該方法。 因此,與模擬相關的每個類只能通過IInteraction訪問(無論IInteraction在哪裏實現)。C#中的瓶頸進入模擬
我試圖使模擬類內部,因爲這會對其進行訪問限制任何人。但交互需要參考模擬才能操縱它。對它的引用只能在模擬程序集的內部進行,這使得此方法無用,因爲這樣IInterface的實現不能在公共範圍內實現。
您是否在尋找建築學答案?你需要做什麼來實現像系統這樣的插件? – Icepickle
@dasblinkenlight IInteraction不應被隱藏。如果你正在引用最後一句話:我試圖用內部的,沒有真實的,IInteraction的實現也必須在模擬中,正如你所說的那樣毫無意義。 – Butterkekskrumel
@Butterkekskrumel我想你應該解釋一下什麼是錯有'IInteraction'公開,因爲對我來說,它看起來像你擁有這一切正確想通了。順便說一下,您可以將內部結構暴露給選定的外部DLL列表。查找「內部可見的屬性」。 – dasblinkenlight