Проекции = (
from полеИнфо in _тип.GetFields()
// там где есть атрибут Проекция
let проекцияАтр = (Проекция)полеИнфо.GetCustomAttributes(typeof(Проекция), false).SingleOrDefault()
where проекцияАтр != null
// в одном атрибуте может содержаться несколько проекций
let проекцииНаВнутрПоля = (
from проекцияНаВнутрПоле in проекцияАтр.СтолбцыРидера_ПоляКласса
select new МультиПроекция.ПроекцияВнутриСсылаемого(полеИнфо.FieldType.GetField(проекцияНаВнутрПоле.Value), проекцияНаВнутрПоле.Key)
).ToArray()
select new МультиПроекция(полеИнфо, проекцииНаВнутрПоля)
).ToArray();
Пытаемся:
Проекции = (linq<#
from полеИнфо in _тип.GetFields()
// там где есть атрибут Проекция
let проекцияАтр = полеИнфо.GetCustomAttributes(typeof(Проекция), false).SingleOrDefault() :> Проекция
where проекцияАтр != null
// в одном атрибуте может содержаться несколько проекций
let проекцииНаВнутрПоля = (
from проекцияНаВнутрПоле in проекцияАтр.СтолбцыРидера_ПоляКласса
select МультиПроекция.ПроекцияВнутриСсылаемого(полеИнфо.FieldType.GetField(проекцияНаВнутрПоле.Value), проекцияНаВнутрПоле.Key)
).ToArray()
select МультиПроекция(полеИнфо, проекцииНаВнутрПоля)
#>
).ToArray();
let проекцииНаВнутрПоля = (
error : unclosed bracket
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>