c#中的子類無法呼叫父類的事件,可以通過在父類中建立乙個方法來呼叫父類的事件,而子類通過呼叫父類的方法來觸發事件。
classparent
}}class
clild : parent
public
void
start()
}
有下面一段**,目的是實現事件的繼承:
基類:
publicclass
basebusiness
派生類:
publicclass
mybusiness : basebusiness
}
編譯時提示如下錯誤:
事件「basebusiness.progressevent」只能出現在 += 或 -= 的左邊(從型別「basebusiness」中使用時除外)
出現編譯錯誤的原因是:
事件只能從宣告它們的類中呼叫,派生類不能直接呼叫在基類宣告的事件。
要處理基類的事件,通常通過在基類中為事件建立受保護虛方法(oneventname)來實現。派生類可以重寫基類的oneventname方法,也可以直接呼叫基類的oneventname方法,從而實現呼叫基類的事件。重寫基類的oneventname方法,派生類可以截獲基類正在呼叫的事件,對這些事件執行它自己的處理。
修改後的**如下:
基類:
publicclass
basebusiness
}
派生類:
publicclass
mybusiness : basebusiness
//可以重寫基類的方法
protected
override
void onprogress(int progress, string
msg)
}
c#中事件的繼承.
c# 事件的繼承
C 事件的繼承
有下面一段 目的是實現事件的繼承 基類 public class basebusiness 派生類 public class mybusiness basebusiness 編譯時提示如下錯誤 事件 basebusiness.progressevent 只能出現在 或 的左邊 從型別 basebus...
C 事件的繼承
有下面一段 目的是實現事件的繼承 基類 public class basebusiness 派生類 public class mybusiness basebusiness 編譯時提示如下錯誤 事件 basebusiness.progressevent 只能出現在 或 的左邊 從型別 basebus...
C 事件的繼承
c 事件的繼承 有下面一段 目的是實現事件的繼承 基類 public class basebusiness 派生類 public class mybusiness basebusiness 編譯時提示如下錯誤 事件 basebusiness.progressevent 只能出現在 或 的左邊 從型別...