我有一個名爲Manager
的類和另一個名爲EmployeeFileHandler
的類繼承自IFileHandler
。在多個類之間共享一個類
我希望創建一個新類EmployeeInfo
,我可以從Manager
和EmployeeFileHandler
中訪問static-way
。但是,據我所知,static
關鍵字不能應用於繼承/編輯類。
這可以以任何方式完成嗎?
我有一個名爲Manager
的類和另一個名爲EmployeeFileHandler
的類繼承自IFileHandler
。在多個類之間共享一個類
我希望創建一個新類EmployeeInfo
,我可以從Manager
和EmployeeFileHandler
中訪問static-way
。但是,據我所知,static
關鍵字不能應用於繼承/編輯類。
這可以以任何方式完成嗎?
由於C#不支持多重繼承,您可以通過做到這一點:
有兩種情況爲您EmployeeInfo
(has a
關係,而不是is a
關係)。
public class EmployeeInfo {
public static Manager Manager = new Manager();
public static EmployeeFileHandler EmployeeFileHandler = new EmployeeFileHandler();
}
因此,無論何時您需要訪問Manager
類方法,您使用Manager
例如,每當你需要訪問EmployeeFileHandler
方法,您使用EmployeeFileHandler
實例。
,或者,您可以創建EmployeeInfo
從Manager
繼承和貫徹IFileHandler
public class EmployeeInfo : Manager, IFileHandler
這是確定的接口,提供了比IFileHandler
EmployeeFileHandler
沒有額外的方法
你是什麼意思,說「有關係,而不是關係」?你能解釋一下嗎? – Idanis
有一種關係意味着它不是從那個類派生的,但是擁有那個類。例如。鮑勃是一個男人,因此它擁有所有曼的方法。但鮑勃有一把剪刀,這意味着他可以用剪刀做他想做的事。一個(是)意味着你繼承,但另一個(具有)意味着你擁有它。在C#中,它看起來非常不同,在第一個選項中查看我的示例 – Ian
,就像將'EmployeeFileHandler'放在'Manger'下面那樣,不是嗎?我的'經理'是我的'ViewModel'。在這個類中,我想創建/編輯'EmployeeInfo',然後使用'EmployeeFileHandler'來從/ EmployeeInfo文件寫入/加載 - 我希望創建一個分離。我不希望數據與'ViewModel'或'FileHandler'混合。 – Idanis
您的EmployeeFileHandler必須是靜態的嗎? – Gnqz
不,我的意思是'EmployeeInfo'將是靜態的,而不是'EmployeeFileHandler' – Idanis