Tôi có lớp sau đây:Câu hỏi liên quan đến giao diện thông thạo C#
public class Fluently
{
public Fluently Is(string lhs)
{
return this;
}
public Fluently Does(string lhs)
{
return this;
}
public Fluently EqualTo(string rhs)
{
return this;
}
public Fluently LessThan(string rhs)
{
return this;
}
public Fluently GreaterThan(string rhs)
{
return this;
}
}
Trong ngữ pháp tiếng Anh bạn không thể có “một cái gì đó tương đương với một cái gì đó” hay “làm điều gì đó lớn hơn một cái gì đó” vì vậy tôi không muốn Is.EqualTo và Does.GreaterThan có thể thực hiện được. Có cách nào để hạn chế nó không?
var f = new Fluently();
f.Is("a").GreaterThan("b");
f.Is("a").EqualTo("b"); //grammatically incorrect in English
f.Does("a").GreaterThan("b");
f.Does("a").EqualTo("b"); //grammatically incorrect in English
Cảm ơn bạn!
Bạn có chắc chắn rằng "là một cái gì đó tương đương với một cái gì đó" là không đúng ngữ pháp? –
Có lẽ không nhưng bạn có ý tưởng đúng không? – Jeff
Vâng, tôi có ý tưởng, tôi nghĩ về bối cảnh của nó. Bạn có * hỏi * nếu nó bằng hoặc * nói * rằng nó bằng nhau? Sẽ trả lời câu hỏi của bạn nếu tôi biết nhưng để cho bạn biết sự thật tôi không chắc chắn, vì vậy tôi là một ngữ pháp nazi :) –