可能重复:
Static extension methods
所以我知道扩展方法只适用于对象实例,就像执行
一样public static string stringBig(this string inString) {
return inString.ToUpper();
}
仅适用于string
但是我正在尝试制作像Double.TryParse
这样功能的东西,这样我就不必这样做了
Double myDouble = someOtherDouble.DoubleParseDifferent("4.324802348203498");
我希望能够做一些像
这样的事情Double myDouble = Double.DoubleParseDifferent(someRandomString);
现在我知道我实际上无法做到这一点,所以我可以采取哪些替代方法或方法。
答案 0 :(得分:3)
您可以创建一个名称相似的类:
static class MyDouble { ... }
答案 1 :(得分:2)
实现TryParse
的唯一可能替代方式我可以想到(因为你要求的是不可能的)将创建一个普通的静态方法,但返回一个< EM>可空
public static double? TryParseEx(string value) { /* new improved parse code here */ }
var result = TryParseEx("1234.56");
这样您就不需要像普通TryParse
...
如果!result.HasValue
,则解析不成功。否则,只需阅读result.Value
属性即可获得解析结果。
答案 2 :(得分:1)
由于您要添加字符串解析方法,为什么不在字符串
中添加扩展名public static Double ParseDifferent( this string inString) {
return ...
}