Вы не можете возвращать экземпляры анонимных типов в качестве возвращаемого значения функций или свойств (из моей последней информации. Быстрый поиск в Google не дал никаких признаков того, что это изменилось до сих пор). Это означает, что вы не можете составить список анонимного типа, как вы создаете с помощью new {VariableName1 = "123", VarName2 = "456"}
. Вы можете определить класс или структуру, в которой есть необходимые члены, такие как переменная, индекс, имя, путь. Затем, когда вы строите свой список, вместо создания объекта с помощью new {...}
, вы создаете один из именованного типа, то есть:
Определите это где-нибудь:
class MyBunchOfVariables
{
public string Variable ;
public string Index ;
public string Name ;
public string Path ;
public string Interval ;
public string ConnectorId ;
public string Type ;
public string Factor ;
public string MaxValue ;
}
Измените тип свойства соответственно:
public class Component
{
// Property of class Component
public string Komponentenart { get; set;}
public int KomponentenID { get; set;}
public string KomponentenArtikelnummer { get; set;}
public MyBunchOfVariables Variablen { get; set}; // ### CHANGED TYPE ###
}
А затем:
var variablen = (from element in xmlDoc.Descendants("variable")
select
new MyBunchOfVariables
{
Variable = (string)element.Attribute("ID"),
Index = (string)element.Attribute("index"),
Name = (string)element.Attribute("name"),
Path = (string)element.Attribute("path"),
Interval = (string)element.Attribute("interval"),
ConnectorId = (string)element.Attribute("connectorId"),
Type = (string)element.Attribute("type"),
Factor = (string)element.Attribute("factor"),
MaxValue = (string)element.Attribute("maxvalue")
}
).ToList();
Я считаю, что это узкое подмножество HTML 3.x, хотя я не помню, где это читал.
Я не знаю точно, какие теги поддерживаются, но я бы посоветовал вам ограничиться полужирным шрифтом / курсивом (или еще лучше сильным / em, если он их поддерживает) и тегами img. Все остальное может вызвать головную боль и, вероятно, означает, что вы слишком много вкладываете в этот компонент.