화면 하단에 경고가 있습니다.
경고 1 ‘WindowsFormsApplication2.EventControlDataSet.Events’는 상속 된 멤버 ‘System.ComponentModel.MarshalByValueComponent.Events’를 숨 깁니다. 은폐가 의도 된 경우 새 키워드를 사용하십시오. C : \ Users \ myComputer \ Desktop \ Event Control \ WindowsFormsApplication2 \ EventControlDataSet.Designer.cs 112 32 eventControl
두 번 클릭하면 다음과 같이 표시됩니다.
public EventsDataTable Events {
get {
return this.tableEvents;
}
누구든지 이것을 제거하는 방법을 말해 줄 수 있습니까?
답변
클래스에는 기본 클래스가 있으며이 기본 클래스에는 클래스에 의해 재정의되는 Events라는 속성 (가상 또는 추상이 아님)도 있습니다. 재정의하려면 public 한정자 뒤에 “new”키워드를 넣으십시오. EG
public new EventsDataTable Events
{
..
}
재정의하지 않으려면 속성 이름을 다른 것으로 변경하십시오.
답변
@wdavo가 정확합니다. 함수도 마찬가지입니다.
Update와 같은 기본 함수를 재정의하는 경우 하위 클래스에 다음이 필요합니다.
new void Update()
{
//do stufff
}
함수 선언 시작시 새로운 기능이 없으면 경고 플래그가 표시됩니다.
답변
아래 코드 Class A
에서 인터페이스 IShow
를 구현하고 메서드를 구현합니다 ShowData
. Class B
상속 Class A
합니다. 에서 ShowData
메서드 Class B
를 사용 하려면 기본 클래스 메서드 를 숨기려면 메서드에 키워드를 사용해야 new
하고 ShowData
메서드 를 확장 Class A
하려면 override
키워드를 사용해야 합니다.
interface IShow
{
protected void ShowData();
}
class A : IShow
{
protected void ShowData()
{
Console.WriteLine("This is Class A");
}
}
class B : A
{
protected new void ShowData()
{
Console.WriteLine("This is Class B");
}
}
답변
부모 함수에는 virtual
키워드 가 필요하고 자식 함수 override
에는 함수 정의 앞에 키워드가 필요합니다 .
답변
