我有2個程序集(外部和本地)。國外議會不能修改。我想擴展一個外部類,以便它現在實現一個本地接口。這在C#中可能嗎?C#:我可以擴展一個外部類,使其實現本地接口
編輯: 我知道我可以做到以下幾點:
// foreign.dll
namespace DX {
public struct Vector3 {
...
}
}
// local.dll
namespace MyDX {
public static class Extensions {
public static void MyExtensionMethod(this Vector3 vec, int index){
...
}
}
}
我感興趣的東西做的是迫使外國類/結構來實現一個特定的接口(不使用繼承)。我想在一個泛型類使用的Vector3作爲一個類型:
public class MyGeneric<T> where T: IComparable<T> {
T _value;
}
以上的結構:的Vector3沒有實現IComparable,但我想使用反射來實現該接口,這樣我可以使用外資類/結構在其現有的形式(即沒有使用繼承)。繼承可能是必要的......
這是無法完成的。你能描述一下你想通過這個來實現嗎?因爲它聽起來像[XY問題](http://xyproblem.info/)給我。 – Xiaoy312
'class Local:Foreign,ILocalInterface'?如果你只需要使用接口,那麼它應該是無關緊要的類實現它。 – taffer
這樣做你想達到什麼目的? – GMR516