C#에서만 N 클래스가 상속받을 수있는 메커니즘이 있습니까?C, B, C, D에서만 A를 상속 할 수있는 클래스 A를 만들려면 어떻게해야합니까?
답변
당신은 그것을 넣을 수 있고 별도의 어셈블리에서 클래스를 파생하고 기본 클래스의 생성자를 internal
으로 선언하십시오. 그런 식으로 다른 어셈블리에서 상속받을 수 있지만 파생 클래스를 인스턴스화 할 수는 없습니다.
당신은 A 급 abstarct에서 만들 클래스의 숫자를 상속 할 수 있습니다 ..
나는이 경우에 N = 3 –
@Tom : Abatishchev가 준 답변을 참조하십시오. 나는 단지 같은 것을 말하고 싶었습니다. 힌트 후에 생각한 나머지 질문자가 Google ... – Stuti
아니,하지만 당신은 항상 한계를 초과하는 경우 생성자가 예외를 던질 수 있습니다.
어떻게 알 수 있습니까? 얼마나 많은 클래스가 A로부터 상속됩니까? –
기본 클래스 생성자의 해시 테이블에 'this'레코드 유형. – Koterpillar
// can be inherited only by classes in the same assembly
public abstract class A
{
protected internal A() { }
}
// can't be inherited
public sealed class B : A
{
}
그냥 내 개인 교화를 위해, 나는 "아, 아주 아주 나쁜 생각!했다 제목을 읽기에 처음 thougt 이후 같은 디자인 선택이 바람직하게 비즈니스 컨텍스트에 대한 자세한 내용을 알고 싶습니다 기본 클래스는 파생 클래스를 알기 위해 무엇이든 (그리고 더 나쁜 : 규칙을) 알아서는 안됩니다. "
- 1. C++에서 const ref a를 지역 변수에 반환하려면 어떻게해야합니까?
- 2. vb.net에서 char a를 변환하는 방법
- 3. 컴파일 타임 제한 : B가 아닌 A를 허용합니다. B : A
- 4. C++ 템플릿 클래스 상속
- 5. 지금 (... A로부터 B 등으로 A를 B로) 앞뒤로 jQuery를
- 6. F # 레코드는 순환 참조 A -> B -> A를 지원합니까?
- 7. 내가이 alghorithm a를 쓰기 2005
- 8. iPhone에서 A를 Á로 비교하는 방법
- 9. GtkGlArea의 구성 스크립트가 MinGW에서 opengl32.a를 무시합니다.
- 10. C++ 클래스 상속 문제
- 11. C# 클래스 상속
- 12. ab의 절대 값에 a를 추가하는 방법
- 13. DataSet a를 DataReader로 어떻게 변환 할 수 있습니까?
- 14. C++ 제네릭 클래스 및 상속
- 15. Django 0.96 템플릿에서 list_b 테스트에서 if a를 수행하려면 어떻게해야합니까?
- 16. C++ 코드로 프로그램을 만들려면 어떻게해야합니까?
- 17. 목표 C 초기화 방법 및 상속
- 18. C++ 템플릿 클래스 및 상속
- 19. C++, 상속 템플릿 중첩 클래스
- 20. 오브젝티브 C 클래스 상속 할당
- 21. C++의 클래스 선언에서 상속
- 22. C++ 변수 - 선언하고 정의합니다. 상속
- 23. 스레드 A를 실행중인 객체가 스레드 B에 의해 파괴되면 어떻게됩니까?
- 24. dig를 사용하여 NS와 A를 동시에 검색 할 수 있습니까
- 25. 배열의 값과 a를 b와 c를 d와 비교하면?
- 26. ASP.NET의 DataGrid에서 프로그래밍 방식으로 CTRL + A를 모방합니까?
- 27. 언제 정규식에서 \ A를 사용해야합니까? 라인 앵커의
- 28. A를 후속으로 viewDidUnload 대 할당 해제의 질문
- 29. python을 사용하여 Ctrl + A를 보내는 방법은 무엇입니까?
- 30. UITextView의 두 공백은 자동으로 a를 삽입합니다. (fullstop)
같은 어셈블리에'B','C' 및'D'가 있습니까? –
실행시 또는 컴파일시에 필요합니까? – rerun
특별한 이유가 있습니까? 아마도 실제 예제가 도움이 될 것입니다. – Koterpillar