2010-01-29 78 views
2

是否有可能從一個嵌套類繼承,或實現C#嵌套接口?C#繼承自嵌套類本身

class Outer : Outer.Inner { 
    class Inner { ... } 
    ... 
} 
+0

的可能重複[爲什麼不能在一個類在C#中擴大自己的嵌套類?(http://stackoverflow.com/questions/265585/why-cant-a-class-extend-its- own-nested-class-in-c) – nawfal 2013-02-25 11:33:12

回答

2

在你寫,一路無(見this)。但是,如果你的內部界面是在另一個班級,那麼你可以。

public class SomeClass : SomeOtherClass.ISomeInterface { 
    public void DoSomething() {} 
} 

public class SomeOtherClass { 
    public interface ISomeInterface { 
     void DoSomething(); 
    } 
} 
+0

我不明白爲什麼不能這樣做,但這是事實!無論如何...現在我對C#非常傷心。 – 2010-01-29 00:26:17

1

只要嵌套類型在您的範圍內可見,而不是sealed,那麼是的。

編輯2:不要把這篇文章作爲您是否應該 OR 不應做任何評論,我只能說,它是允許的。 :)

編輯:您不能嵌套在本身類型派生的,但你可以實施宣稱嵌套在一個基本類型的接口:

public class Base 
{ 
    public interface ISomething 
    { 
    } 
} 

public class Derived : Base, Base.ISomething 
{ 
}