Base Class in separate assembly?
Posted on 2006-05-23
I have orginally create a project which contained a base class, a client class and a server class. After finish the project I thought rather than having a single assembly containing these 3 classes together that I would break them down.
So I now have
one assembly for my base class
one assembly for my client class which also has a reference to my base class
one assembly for my server class which also has a reference to my base class
So far so good. No problem.
When I create a dummy winform project and I reference my client class to it, all is still ok, but when I try to access a specific class with the client class which is inherited from my base class, it will not work unless I reference the base class into the dummy project.
Why is this? Am I doing something wrong. I though all I would have had to do was to reference the client class and the base class, since reference in the client class would have been called appropriately?
Any ideas as to why this is happening. While I'm not an expert in OO, it seems to me that this would have been an ok design and rather than putting base, client and server class into the one assembly it would have been better to split them for a) size, b) security as server classes should not be accessible at any stage on the client.
The way it is now I'm left with these choices which are no good:
a) reference client assembly and base assembly into dummy project which seems completely useless as I feel there is "double" referencing since the base class is (as previously said) already referenced into the client (and server) class.
b) put back base, client and server together which again to me does not make sense.
Anyone has any ideas?