"숨기기가 의도 된 경우 새 키워드 사용"경고
화면 하단에 경고가 있습니다.
경고 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");
}
}
참고 URL : https://stackoverflow.com/questions/19193821/use-the-new-keyword-if-hiding-was-intended-warning
'Programing' 카테고리의 다른 글
C ++ 포함 및 가져 오기 차이점 (0) | 2020.09.05 |
---|---|
Qt의 메모리 관리? (0) | 2020.09.05 |
메모리에서 Selenium chromedriver.exe 해제 (0) | 2020.09.05 |
Calendar.getInstance (TimeZone.getTimeZone ( "UTC"))가 UTC 시간을 반환하지 않습니다. (0) | 2020.09.05 |
Linux Bash에서 이중 앰퍼샌드 (&&)와 세미콜론 (;)의 차이점은 무엇입니까? (0) | 2020.09.05 |