我正在构建一个将用于多个产品版本的库,其部分工作是增强.NET 1.1中不存在的一些功能,因为我们需要使用它。可能的最好的例子就是String.IsNullOrEmpty方法,它的功能我们相当依赖。什么是在.NET 1.1中扩展密封类的干净/直观的方法?
.NET中的String类是密封的;我想过使用Adapter或Decorator模式来通过包装原始字符串来扩展类的功能,但我不相信这是一个非常直观的方法,我正在尝试做什么。我也看过another post on StackOverflow关于类似的问题,但它再次提出我刚刚提到的问题。
我肯定可以使用适配器创建我要找的功能,但我无法想象这样做,每串:
bool isEmpty = new StringExtensionAdapter(myXmlNode.SelectSingleNode(myXpathString)).IsNullOrEmpty();
if (isEmpty)
{
// Do something
}
我并不喜欢这种做法,但似乎就像它导致大量的内存管理,其中不同的解决方案可能会更好。另外,我对创建一个“StringUtility”库并不着迷,因为这种方法让我远离了我想要遵循的面向对象设计。
任何输入都会有帮助;如果我只是疯了,应该使用这些方法之一,让我知道。因为我有几个,我正在寻找更多的最佳实践,而不是解决方案。
我只是想建议Adapter模式,写一个小样本,但...看来你已经提到它:( – 2009-06-25 21:45:16