.net: Введение анонимных типов на бизнес-уровне? - PullRequest
0 голосов
/ 31 января 2011

Я не хочу создавать новый класс и решил использовать анонимный тип для отправки данных с уровня представления на уровень biz.

Но моя проблема в том, как я могу ввести анонимный тип в слой biz? Я использую Vb.Net 2008 и VS 2008.

EDIT

На самом деле мне приходится работать с некоторыми данными, которые по своей природе являются действительно временными классами, и я больше не буду использовать их в своем собственном проекте.

Ответы [ 3 ]

2 голосов
/ 31 января 2011

Анонимные типы ограничены так, что к ним можно получить строго типизированный доступ только внутри метода, в котором они были созданы. Если вы хотите передать их из метода в другой, вам придется использовать их как object и использовать отражение (или dynamic) для доступа к их свойствам, что, безусловно, не то, что вы хотите. *

Используйте правильный класс для ваших данных.

0 голосов
/ 31 января 2011

Я не рекомендую вам делать такие вещи.Такой код не будет обслуживаемым.Но вы могли бы использовать dynamic из 4.0, что не годится для этого.

0 голосов
/ 31 января 2011

Не, не надо!

Если они живут в границах сервера acorss, вы в конечном итоге используете dynamic на клиенте вашей функции, что не годится.

Это потому, что вам, вероятно, придется выставить объект как object в сигнатуре метода, и вы потеряете все преимущества безопасности типов.

С другой стороны, вы ничего не добились, компилятор все равно выкладывает класс для вас.

...