Я пытаюсь создать экземпляр объекта, который также имеют классы, состоящие в него:Установленное значение составных классов с помощью отражения
[DataContract(Name = "share", Namespace = "")]
public class RequestShareDocument
{
[DataMember(Order = 0)]
public string profile_name { get; set; }
[DataMember(Order = 1)]
public List<RequestSigner> signers {get; set;}
[DataMember(Order = 2)]
public bool createcopy { get; set; }
}
[DataContract(Name = "signer", Namespace = "")]
public class RequestSigner
{
[DataMember(Order = 0)]
public string email { get; set; }
[DataMember(Order = 1)]
public string order { get; set; }
[DataMember(Order = 2)]
public string reminder { get; set; }
[DataMember(Order = 3)]
public RequestSignerPermissions permissions { get; set; }
[DataMember(Order = 4)]
public string signature_field { get; set; }
}
[DataContract(Name = "permissions", Namespace = "")]
public class RequestSignerPermissions
{
[DataMember(Order = 0)]
public bool save_locally {get;set;}
[DataMember(Order = 1)]
public string open_password { get; set; }
[DataMember(Order = 2)]
public DateTime accessible_after { get; set; }
[DataMember(Order = 3)]
public DateTime accessible_before { get; set; }
[DataMember(Order = 4)]
public string certify_level { get; set; }
}
Мне нужно создать экземпляр класса и сериализации в XML, чтобы, но я не знаю, как это сделать?
Я могу создать экземпляр класса, но когда дело доходит до свойства List<T>
, я не могу его создать. Я уже пробовал это:
if (typeof(IEnumerable).IsAssignableFrom(item.PropertyType))
IList list = (IList)Activator.CreateInstance(typeof(List<>));
... и сериализации Я использую:
XmlSerializer mySerializer = new XmlSerializer(typeof(T), new
XmlRootAttribute(RootElementName));
StringWriter sww = new StringWriter();
XmlWriter writer = XmlWriter.Create(sww, new XmlWriterSettings()
{ OmitXmlDeclaration = true, Indent = true });
mySerializer.Serialize(writer, item);
writer.Close();
sww.Close();
Проблема заключается в том, когда я петля все свойства и достичь List
я не знаю, как создайте экземпляр List
. Возможно ли, я делаю что-то неправильно?
Пробовали ли вы это: 'если (TypeOf (IList) .IsAssignableFrom (item.PropertyType)) { IList список = (IList) Activator.CreateInstance (item.PropertyType); ' –
Я уже устал, он создает экземпляр списка, но проблема в том, как я могу добавить объект класса, список которого создан. Список IList = (IList) Activator.CreateInstance (item.PropertyType); теперь я получаю объект списка со счетом 0 – Salman