C# private (hidden) base class
Posted
by
Loadmaster
on Stack Overflow
See other posts from Stack Overflow
or by Loadmaster
Published on 2012-06-01T22:31:07Z
Indexed on
2012/06/01
22:40 UTC
Read the original article
Hit count: 197
It is possible to make a C# base class accessible only within the library assembly it's compiled into, while making other subclasses that inherit from it public?
For example:
using System.IO;
class BaseOutput: Stream // Hidden base class
{
protected BaseOutput(Stream o)
{ ... }
...lots of common methods...
}
public class MyOutput: BaseOutput // Public subclass
{
public BaseOutput(Stream o):
base(o)
{ ... }
public override int Write(int b)
{ ... }
}
Here I'd like the BaseOutput
class to be inaccessible to clients of my library, but allow the subclass MyOutput
to be completely public. I know that C# does not allow base classes to have more restrictive access than subclasses, but is there some other legal way of achieving the same effect?
© Stack Overflow or respective owner