I need a method to retrieve some of the properties of XType and those properties are not available in BaseType. So that this method is not generic for both the types and is specific only to XType. This is the only method which is specific to XType, and rest all are generic methods, which convinced me to have generic class.
Is there any way, such that I can make this method visible only for the and not visible for the
Why do you need a different class(Format) at all to do what you need??
You can simply have the methods(which you are calling generic) in your BaseType class and
the methods which are specific to XType will be in that class only..
The problem what you are stating is of Basic Inheritance and Dynamic Binding, rather than of Generics..
Your question is confusing, which suggests to me your inheritance design is confusing, too. I suspect the best thing to do is go back and look at the hierarchy (as RJ has already suggested) and consider whether XType extends BaseType is the best inheritance to use.