我想编写一个静态实用程序类,它只有一组属性,向用户公开功能
例如我可以打电话:
Utils.String.GetHexString("Hello World");
或者
Utils.Stream.CopyBytes(instream, outstream);
我可以将其比作最接近的是 System.Text.Encoding ,其中有 UTF8、ASCII 等属性,因此您可以调用如下内容:
Encoding.UTF8.GetBytes("Hello World");
或者
Encoding.ASCII.GetBytes("Hello World");
问题在于,在编码中,这调用了对用户公开可用的等效对象 ( UTF8Encoder
, )。ASCIIEncoder
我想要的是仅通过 Utils 公开对象,而不显示与属性相关的对象,例如
我可以打电话:
Utils.Stream.CopyStream(instream, outstream);
但我不能打电话:
StreamUtils.CopyStream(instr, outstr) //This class is only accessible via the Utils class!
这是否可能,如果是,这样做是好还是坏?