मैं कुछ वर्गों कि एक निश्चित इंटरफ़ेस को लागू नहीं लेकिन संरचना की दृष्टि से है कि इंटरफ़ेस का पालन करना है लागू करने के लिए एक आवरण बनाने।स्वचालित रूप से एक अंतरफलक
interface IFoo {
void method();
}
class Bar { // does not implement IFoo
public void method() {...}
}
अब, मैं उन कक्षाओं कि बस लिपटे वर्ग
class BarWrapper : IFoo {
Bar bar = new Bar();
public void method()
{
bar.method();
}
}
प्रतिनिधि के चारों ओर एक आवरण लिख सकता है लेकिन यह कठिन काम के बहुत सारे है। क्या वे रैपर वर्ग किसी भी तरह से स्वचालित रूप से उत्पन्न हो सकते हैं? कुछ की तरह:
IFoo foo = CreateWrapper<IFoo>(new Bar());
मैं तुम्हें Reflection.Emit साथ ऐसा कर सकता है यकीन है, लेकिन मुझे लगता है कि उपयोग नहीं किया है और यह पहली नज़र में बहुत आसान नहीं लगती है।
वहाँ एक आसान तरीका है या शायद एक पुस्तकालय है कि पहले से ही इस लागू करता है?
आप लिखने के लिए होने अंत तो यह स्वयं, यह एक संबंधित उदाहरण के रूप में मदद कर सकता है: http://stackoverflow.com/questions/847809/how-can-i-write-a-generic-container-class-that-implements-a-given-interface-in -सी/847975 # 847975 –