일부 클래스에서 C#으로 사용자 지정 이벤트를 만들고 클래스 자체를 포함하여 이벤트를 브로드 캐스트한다고 가정 해 봅니다. 이 경우 어떻게 상속을 만들 수 있습니까? 이벤트가 부모 클래스에서 부모 클래스로 보내지는 대신에 같은 자식 클래스에서 자식 클래스로 보내진 것처럼 할 수 있습니다. 어떻게하면 부모 컨텍스트에서 코드가 실행되는 동안 자식 컨텍스트를 유지할 수 있는지 결정할 수 있습니다 이 상속 때문에 물리적으로?C# 사용자 지정 이벤트, 상속 및 종료
답변
파생 클래스에서 기본 클래스 이벤트를 발생시키는 방법을 묻는 중입니까?
이벤트 위임 필드가 이벤트 클래스를 정의하는 클래스 (이 경우에는 기본 클래스)에 대해 private이기 때문에 직접 할 수 없습니다. 그러나 기본 클래스에서 이벤트를 발생시키고 파생 클래스에서 호출하는 보호 된 메서드를 선언 할 수 있습니다. 하지만 난 그냥 생각 당신이 절대적으로 모금 메소드를 오버라이드 (override) 할 필요는 없습니다
class Base {
public event EventHandler Bang;
protected virtual void OnBang()
{
if (Bang != null)
Bang (this, EventArgs.Empty);
}
}
class Derived : Base {
public void DoSomething()
{
// let's bang for some fun
OnBang(); // will raise Bang
}
protected override void OnBang()
{
Console.WriteLine ("It's gonna bang now!");
base.OnBang(); // if we remove this line, event will not be fired
}
}
참고 : 일반적으로 사용되는 표기는 방법 On[EventName]
를 호출하고 이벤트 모금은 가상 그래서 파생 클래스가 가로 챌 수 있도록 (및 취소)을 제안한다 일반적인 방식으로 구독하는 것보다 자신의 이벤트에 반응하는 더 좋은 해결책입니다.
파생 된 클래스의 기본 클래스에서 자동으로 발생 시키길 원했습니다. – user310291
당신이 적어도 질문을 이해했기 때문에 나는 당신의 대답을 잘 체크했으나 나의 문제는 해결되지 않았기 때문에 그것을 클로저로 풀 수 있다고 생각합니다. – user310291
무슨 소리 야? 이벤트는 자동으로 발생 될 수 없으며 어떤 경우에는 이벤트가 발생해야합니다. 기본 클래스에서 이벤트를 발생 시키려면 기본 클래스에서'OnBang'을 호출하면됩니다. –
- 1. C# 사용자 지정 인수가있는 이벤트
- 2. 사용자 지정 CompositeControl에서 상속
- 3. 스레드 종료 이벤트 - C++
- 4. C# 이벤트 상속
- 5. Rebol의 사용자 지정 이벤트
- 6. DependencyObject 상속 트리 사용자 지정
- 7. ASP.NET의 사용자 지정 이벤트
- 8. Silverlight 사용자 지정 속성 상속
- 9. Python에서 사용자 지정 연산자 상속?
- 10. C# 사용자 지정 복사 생성자, 복사 이벤트
- 11. 사용자 지정 이벤트 처리기
- 12. SmartGwt 사용자 지정 이벤트
- 13. C# TextBox 자동 완성 (Winforms) 키 이벤트 및 사용자 지정?
- 14. ASP.NET 및 사용자 지정 이벤트 관련 문제
- 15. C# : 상속 된 이벤트 발생시키기
- 16. 사용자 지정 이벤트 로그 만들기
- 17. jQuery 사용자 지정 이벤트 시퀀스
- 18. WPF 사용자 지정 이벤트 만들기
- 19. 사용자 지정 컨트롤에서 이벤트 올리기
- 20. 사용자 지정 NSView 이벤트 처리
- 21. 사용자 지정 UIControl에서 이벤트 관리
- 22. .NET의 사용자 지정 이벤트 디자인 패턴
- 23. 사용자 지정 셰어 포인트 응용 프로그램의 상속
- 24. DropDownList 상속 및 DataSourceObject를 사용하여 사용자 지정 값 추가
- 25. 프로토 타입의 네이티브 및 사용자 지정 이벤트 바인딩 및 트리거
- 26. C# 사용자 지정 DataView를
- 27. C# 사용자 지정 단추
- 28. Windows 종료 이벤트 감지
- 29. C++ 템플릿 및 상속
- 30. 대리자 및 상속 C#
매우 모호하고 이해할 수없는 부분이 있습니다. 적용 사례가 표시되지 않습니다. 몇 가지 샘플 코드와 달성하려는 내용에 대한 자세한 설명을 제공하는 것이 좋습니다. – abelenky
나는 그 질문을 이해하지 못한다. – Amy
음 ... 질문은 무엇입니까 ... –