2016-10-18 6 views
0

У меня есть класс «MsrProgram», который будет сериализоваться. Однако, если параметр «Number» в «MsrProgram» отличается, мне нужны разные параметры в моем XML-файле. Какой самый простой способ сделать что-то подобное?Создать динамический класс XML

Вот мой код:

public class MsrProgram 
{ 
    [XmlAttribute] 
    public string OwnerTypeFullName { get; set; } 

    [XmlAttribute] 
    public int Number { get; set; } 

    [XmlAttribute] 
    public int MsrRange { get; set; } 

    [XmlAttribute] 
    public int TurnoverMeasure { get; set; } 
} 

public class main 
{ 
    var toolList = (from pos in Configuration.List 
     select new Position 
     { 
     ToolNumber = (int)pos.tlno, 
     Tool = 
     { 
      ToolId = pos.tlno.ToString(), 
      Step = 
      { 
       Position = "1", 
       MsrProgram = 
       { 
        OwnerTypeFullName = "", 
        Number = 1, 
        MsrRange = "1", //When Number is 1 
        TurnoverMeasure = "1", //When Number is 2 
       } 
      } 
     } 
     } 
} 
+0

Вы имеете в виду заявление if? – Liam

+0

Да, мне нужна инструкция if. Но где я могу это сделать? –

+0

Используйте оператор третичного if или используйте функцию. Вы также можете реорганизовать свой linq в цикл foreach, который может облегчить его. Ваш вопрос действительно не очень ясен, хотя – Liam

ответ

2

Ваш код не показывает все, так что я не могу дать полный код, но это должно вам начать работу:

var toolList = (from pos in Configuration.List 
    select new Position 
    { 
     ToolNumber = (int)pos.tlno, 
     Tool = new Tool 
     { 
      ToolId = pos.tlno.ToString(), 
      Step = new Step 
      { 
       Position = "1", 
       MsrProgram = new MsrProgram 
       { 
        OwnerTypeFullName = "", 
        Number = GetNumber(), // <- fill in what really should be used 
        MsrRange = GetNumber() == 1 ? 1 : 0, 
        TurnoverMeasure = GetNumber() == 2 ? 1 : 0 
       } 
      } 
     } 
    } 
); 

Я также добавил несколько new ... заявления которые вы пропустили или забыли.

Смежные вопросы