Я пытаюсь написать DSL-Проектирование Fluent методы интерфейса
У меня есть методы, которые возвращают строки, но если я хочу, чтобы объединить строки, мне нужно использовать символ +, но я хотел бы назвать методы вместе, но я «м не знает, как достичь его
у меня есть методы на данный момент, такие как
MyStaticClass.Root() MyStaticClass.And() MyStaticClass.AnyInt()
, которые возвращают строки
Я хотел бы быть в состоянии сделать
Root().And().AnyInt()
, которые приводят к строке
String builder append? Как будет выглядеть неявное преобразование, чтобы получить результат? Является ли этот поток также безопасным? – Jon
'public static implicit operator string (Fluent f) {return f.ToString(); } '. См. Http://msdn.microsoft.com/en-us/library/z5z9kes2.aspx –
@Jon. Если вы не планируете использовать один и тот же экземпляр из нескольких потоков, потоковая безопасность не является проблемой, о которой вы должны беспокоиться. Свободные интерфейсы обычно используются в одном методе, а затем отбрасываются. –