作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的问题是关于 C# 以及如何访问静态成员的……好吧,我真的不知道如何解释它(哪种问题对问题不好,不是吗?)我只会给你一些示例代码:
Class test<T>{
int method1(Obj Parameter1){
//in here I want to do something which I would explain as
T.TryParse(Parameter1);
//my problem is that it does not work ... I get an error.
//just to explain: if I declare test<int> (with type Integer)
//I want my sample code to call int.TryParse(). If it were String
//it should have been String.TryParse()
}
}
谢谢你们的回答(顺便说一句,问题是:我如何解决这个问题而不出错)。这对您来说可能是个简单的问题!
编辑:谢谢大家的回答!
虽然我认为 try - catch 短语是最优雅的,但根据我使用 vb 的经验,我知道它可能真的很糟糕。我用过一次,运行一个程序大约需要 30 分钟,后来只需要 2 分钟就可以计算,因为我避免了 try - catch。
这就是为什么我选择 switch 语句作为最佳答案的原因。它使代码更复杂,但另一方面我认为它相对较快且相对易于阅读。 (虽然我仍然认为应该有更优雅的方式......也许在我学习的下一门语言中)
如果您有其他建议,我仍在等待(并愿意参与)
最佳答案
问题是 TryParse 没有在任何地方的接口(interface)或基类上定义,因此您不能假设传递到您的类中的类型将具有该功能。除非你能以某种方式限制 T,否则你会经常遇到这种情况。
关于c# - C# 中的泛型和访问 T 的静态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843/
我是一名优秀的程序员,十分优秀!