2011-08-28 17 views
1

這可能是一個有缺陷的設計模式,但我認爲我會要求確保我是唯一可行的方法。類型可以直接訪問而不使用靜態成員嗎​​?

這工作:

public static class StuffManager 
{ 
    public static readonly StuffDict Stuff = new StuffDict(); 
} 

public class StuffDict : IDictionary<string, string> 
{ 
    // custom dictionary stuff 
} 

這裏用戶必須鍵入:

string athing = StuffManager.Stuff["key"] 

這就是我想知道....

public static class StuffManager : IDictionary<string, string> 
{ 
    // custom dictionary stuff 
} 

如果這個工作,用戶將代替鍵入:

string athing = StuffManager["key"] 

我很好,如果答案是「不」我只想確認第二種模式要麼不可能,要麼就是壞主意。如果它是相關的,這是用作第三方應用程序中的一種插件,用戶可以添加我的.cs文件,而不是來自同一應用程序內的用戶。

謝謝。

+1

您可能需要爲此問題的語言添加標籤。 – Mat

+0

看起來有點像C#,但OP應該確認。 – bdonlan

+0

@Mat謝謝,編輯,這是我的第一篇文章。 – Rafe

回答

1

不,這是不可能的。

靜態類從非靜態類繼承是沒有意義的。任何繼承的實例成員仍然是實例成員,並且不能從靜態類中使用。

相關問題