0
我想創建一個要序列化的類。不過,我希望Order
-屬性可以明確地設置在我班的每個成員身上。所以我寫了這個代碼:爲xml序列化生成代碼
public void Process(CodeNamespace code, XmlSchema schema)
{
var types = code.Types.Cast<CodeTypeDeclaration>().Where(x => !x.IsEnum);
foreach (var type in types)
{
foreach(var member in type.Members.Cast<CodeTypeMember>().Select((x, i) => new { Item = x, Order = i }))
{
member.Item.CustomAttributes.Add(new CodeAttributeDeclaration("XmlElementAttribute", ???);
}
}
}
我不知道如何命名參數Order
設置爲有效的值。我已經嘗試過new[] { Order = member.Order }
,但顯然這根本不起作用。
所以我想要的東西是什麼,創建此代碼:
public class MyClass
{
[XmlElement("MyProp", Order = 0)]
public int Prop1 { get; set; }
}
您是否在尋找[在運行時添加屬性的對象屬性(HTTP://計算器。 com/a/602404/3796048) –
@MohitShrivastava不是真的,我希望使用'XmlOverrides'將屬性添加到創建的類本身,而不是添加到序列化程序。但據我從Marcs Post瞭解,我不能*修改*現有*類的任何屬性。但是,在我的課上,這個類目前還不存在,它在運行時自動生成。 – HimBromBeere