는 :의 C# - 클래스 디자인 및 액세스 수정 다음 감안할 때
public abstract class Base
{
// other stuff
public static void StaticMethod()
{
PrivateMethod();
}
// here should be PrivateMethod() declaration somehow
}
public sealed class Derived: Base
{
// other stuff
public void InstanceMethod()
{
// call somehow PrivateMethod
PrivateMethod();
}
}
나는 2 개의 다른 컨텍스트 (다른 어셈블리)에서 PrivateMethod()의 사용을 확인해야합니다. Base.StaticMethod()
을 호출하고 파생 클래스 d.InstanceMethod();
의 인스턴스를 사용하여 두 번째로 호출하십시오.
기본 클래스 내에서 PrivateMethod()를 디자인하는 방법을 찾고 있습니다. 물론 PrivateMethod()는 Base 클래스와 Derived 클래스 외부에서 볼 수 없어야합니다.
나에 대해 뭔가 생각"보호 정적 PrivateMethod을() {}"하지만 난 그렇게 안 읽어 ...
너희들은 무엇을 권장합니까?
어쩌면 요구 사항을 변경할 수 있으며이 경우에는 다른 해결책을 찾을 수 있습니다. 그러나이 경우에는 선택할 수있는 정적 방법이 하나뿐입니다. –
당신은 그것을해서는 안되는 것을 어디에서 읽습니까? 왜 그렇게하지 않아야합니까? –
내가 생각하기에 : http://blogs.msdn.com/b/brada/archive/2004/09/09/227332.aspx. 그러나 Brad는 이것을 피하고 "사용하지 마십시오"라고 제안합니다. –