싱글 톤 클래스를 구현했으며 작성한 메서드가 '봉인 클래스에 선언 된 새로운 보호 된 멤버'라는 경고를 계속받습니다. 빌드에 영향을 미치지는 않지만 나중에 문제가 발생할 경우 경고를 무시하고 싶지는 않습니다. 봉인 된 클래스가 상속받을 수없는 클래스라는 것을 이해합니다. 따라서 메서드를 재정의 할 수는 없지만 다음 코드를 사용하면 경고 메시지가 나타납니다 (싱글 톤 디자인 사용으로 인한 것입니까?) :'봉인 된 클래스의 보호 된 멤버'경고 (싱글 톤 클래스)
namespace WPFSurfaceApp
{
public sealed class PresentationManager
{
PresentationManager()
{
}
protected void MethodName()
{
}
public static PresentationManager Instance
{
get
{
return Nested.instance;
}
}
class Nested
{
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static Nested()
{
}
internal static readonly PresentationManager instance = new PresentationManager();
}
}
EDIT : 경고는 MethodName() 메소드에 관한 것입니다. 편집 : public void MethodName()을 protected void MethodName()으로 변경하십시오.
'Nested' 클래스를 private로 설정하면 어떻게됩니까? –
나는 거기에서 보호되는 어떤 것도 보지 않을 것이다 ... –
아무 일도 없었는데, 경고는 여전히 거기에있다. 솔직히 말해서 싱글 톤 디자인과 아무런 관련이 없을 것이라고 생각합니다. 봉인 된 클래스 대 액세스 한정자와 관련이 있습니다.하지만이를 언급하고 중첩 된 클래스 코드를 포함시켜야한다고 생각했습니다. –