KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have the following interface: internal interface IRelativeTo<T> where T : IObject { T getRelativeTo(); void setRelativeTo(T relativeTo); } and a bunch of classes that (should) implement it, such as: public class AdminRateShift : IObject, IRelativeTo<AdminRateShift> { AdminRateShift getRelativeTo(); void setRelativeTo(AdminRateShift shift); } I realise that these three are not the same: IRelativeTo<> IRelativeTo<AdminRateShift> IRelativeTo<IObject> but nonetheless, I need a way to work with all the different classes like AdminRateShift (and FXRateShift, DetRateShift) that should all implement IRelativeTo. Let's say I have a function which returns AdminRateShift as an Object: IRelativeTo<IObject> = getObjectThatImplementsRelativeTo(); // returns Object By programming against the interface, I can do what I need to, but I can't actually cast the Object to IRelativeTo so I can use it. It's a trivial example, but I hope it will clarify what I am trying to do.
Tags (comma-separated)
Save Edits
Cancel