让我们列出你发布优秀和最喜欢的扩展方法的答案.
要求是必须发布完整代码并提供示例和如何使用它的说明.
基于对该主题的高度关注,我在Codeplex上设置了一个名为extensionoverflow的开源项目.
请标记您的答案并接受将代码放入Codeplex项目中.
请发布完整的源代码而不是链接.
Codeplex新闻:
24.08.2010 Codeplex页面现在在这里:http://extensionoverflow.codeplex.com/
11.11.2008 XmlSerialize/XmlDeserialize现在已实现并且已经过单元测试.
11.11.2008仍有更多开发人员的空间.;-) 现在加入!
11.11.2008第三个贡献者加入了ExtensionOverflow,欢迎来到BKristensen
11.11.2008 FormatWith现在已实现且已经过单元测试.
09.11.2008第二个贡献者加入了ExtensionOverflow.欢迎来到chakrit.
09.11.2008我们需要更多开发人员.;-)
是否有更短的方式写这样的东西:
if(x==1 || x==2 || x==3) // do something
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是这样的:
if(x.in((1,2,3)) // do something
Run Code Online (Sandbox Code Playgroud) 在这个梦想中,我可以取代以下构造:
if(aLongVariableName.equals(classInstance.aPropertyOfThatInstance) ||
aLongVariableName.equals(classInstance.aDifferentProperty)){
...
}
Run Code Online (Sandbox Code Playgroud)
同
if(aLongVariableName.equals(classInstance.aDifferentProperty || aPropertyOfThatInstance)){
...
}
Run Code Online (Sandbox Code Playgroud)
我认为后者更简洁,更容易阅读.我确信应该可以实现某些方法,因为可以用这种签名来声明方法,这种签名public void readUnlimitedVariables(Variable ... vars)
采用逗号分隔的变量(而不是||
甚至是&&
).
这可以打开任何返回布尔值的东西,例如:
if(myLovelyInstance instanceof AwesomeClass && EpicClass){
...
}
Run Code Online (Sandbox Code Playgroud)
其中myLovelyInstance
器具AwesomeClass && EpicClass
这在Java中可行吗?到目前为止,我还没有通过谷歌搜索或SO搜索到任何内容.如果它不是在Java中,那么是否有任何第三方软件包如Lombok或lambdaJ可以允许这样做?如果不是这样,如果这是任何语言的功能?这对我来说似乎很直观,但我没有在任何地方看到它.
我有这个代码:
if (textBox1.Text == "one" || "two")
Run Code Online (Sandbox Code Playgroud)
我试过用|| 和| 添加更多字符串,但它表示它不能应用于"bool"和"string"类型的操作数.我怎样才能做到这一点?谢谢.