我正在尝试设计类似这样的东西
String name = "John";
Int32 age = 30;
var variable = SomeClass.SomeMethod(Name != "Bob", age > 50)
我希望能够做一些像
这样的事情SomeClass.GetName();
SomeClass.GetAge();
SomeClass.IsAgeAboveThreshold();
我希望Name != "Bob", age > 50
采用这种格式,可以添加更多参数而不仅仅是那些2
。这些都不是:x=>
我如何设计SomeClass
?
我确实调查了Expressions
和一些Lambda
的内容,但它看起来非常令人难以置信,在我知道自己需要之前,我并不想深入研究它。< / p>
答案 0 :(得分:0)
您传递的参数是条件。它们返回布尔值。考虑到这一点,您需要相应地构建处理方法:
public static string SomeMethod(bool nameTest, bool ageTest)
{
...
}
这是一个小测试,用例说明了一些基本功能:
class Program
{
public static void Main()
{
String name = "John";
int age = 30;
var variable = SomeClass.SomeMethod(name != "bob", age > 50);
Console.Write(variable);
Console.ReadKey();
}
public class SomeClass
{
public static string SomeMethod(bool nameTest, bool ageTest)
{
return string.Format("nameTest is {0}, ageTest is {1}", nameTest.ToString(), ageTest.ToString());
}
}
}