class A : N
{
void sinefunc()
{
//some stuff here
}
}
class B : N
{
void sinefunc()
{
//some stuff here
}
}
class C : N
{
void sinefunc()
{
//some stuff here
}
}
sinefunc()
是一種常見功能。但是,類A,B和C存在於不同的 項目下的解決方案。這些類已經繼承了一個普通類N,現在,避免代碼重複而不使用多重繼承
- 爲了避免代碼重複,可以將
sinefunc()
移到這些類之外。 - 但是,由於多重繼承是不允許的。什麼是有效的方法或可行的方法來使該功能通用? (請注意,我不希望把
sinefunc()
類N.它已經被寫,我不想打擾這個類。
擴展方法是「C#ONIC」的方式來增加函數到N的多個子類而不改變N.也就是說,如果你有多個具有相同功能的子類,它似乎將它移到N中是非常正確的。 – theodox
謝謝你讓我知道擴展方法Habib。這裏很新。..一些代碼示例將不勝感激。 –
@nowhewhomustnotbenamed。,檢查編輯答案 – Habib