Мое приложение имеет n-уровневую архитектуру. У меня разные уровни (Business Logic & Data Link & GUI). Я использую некоторые общие классы для передачи данных с одного слоя на другой. У меня есть класс (скажем RetrnValueCls
), который имеет только две переменные Return value
и Return Message
. Пока я передаю данные с одного слоя на другой, мне нужно вернуть этот класс Return Value
вместе с другим классом (скажем MasterItemsCls
), который имеет другие переменные.В C#, возможно ли передать два разных класса в качестве возвращаемого типа из одного слоя в другой?
Ниже приведены методы
public MasterItemsCls GetMasterItemsMDL()
{
/* Does some computations and assign them to
attributes of MasterItemsCls and pass it other methods in other layers. */
}
public ReturnValueCls GetMasterItemsMDL()
{
/* Does some computations and assign them to
attributes of ReturnValueCls and pass it other methods in other layers. */
}
Я хочу вернуть обе вышеуказанные классы (MasterItemsCls
& ReturnValueCls
) в качестве типа возвращаемого значения для метода GetMasterItemsMDL
сразу, а также я не хочу, чтобы объединить оба классы. Пожалуйста, дайте мне знать, если я могу это сделать.
+1 для обозначения того, как иногда нечитаемый код получается, если вы используете 'Tuple's в C#. Например, 'tuple.Item1 + tuple.Item2 - кортеж.Item3' удаляет читаемость –
@IlyaIvanov: Кортежи могут быть удобными, но обычно я занимаю время, чтобы создать собственный класс по этой причине. –
Согласитесь, субъективны, но я считаю, что Tuples - хороший способ интеграции частей, написанных в F # с кодом C#. F # имеет очень приличный механизм работы с Tuples, например, сопоставление шаблонов. Я попытался включить Tuples в проект, но не более двух общих параметров и очень-очень редко. –