Api WorkItemChangedEvent和AddedRelations字段

Api WorkItemChangedEvent和AddedRelations字段,api,tfs,Api,Tfs,我试图通过TFS服务捕获WorkItemChangedEvent来捕获添加到TFS中工作项的链接。以下是消息的相关XML部分: <AddedRelations><AddedRelation><WorkItemId>8846</WorkItemId></AddedRelation></AddedRelations> 8846 这被声明为WorkItemChangedEvent类中的字段,在接收到事件时应反序列化为objec

我试图通过TFS服务捕获
WorkItemChangedEvent
来捕获添加到TFS中工作项的链接。以下是消息的相关XML部分:

<AddedRelations><AddedRelation><WorkItemId>8846</WorkItemId></AddedRelation></AddedRelations>
8846
这被声明为WorkItemChangedEvent类中的字段,在接收到事件时应反序列化为object:

public partial class WorkItemChangedEvent
{
    private string[] addedRelations;
    /// <remarks/>
    [XmlArrayItemAttribute("WorkItemId", IsNullable = false)]
    public string[] AddedRelations
    {
        get { return this.addedRelations; }
        set { this.addedRelations = value; }
    }
}
公共部分类WorkItemChangedEvent
{
私有字符串[]加法关系;
/// 
[XmlArrayItemAttribute(“WorkItemId”,IsNullable=false)]
公共字符串[]加法关系
{
获取{返回this.addedRelations;}
设置{this.addedRelations=value;}
}
}
我不明白为什么
AddedRelations
没有正确地反序列化


我只能怀疑对象结构与XML模式不匹配

我稍微更改了WorkItemChangedEvent类的结构,以匹配XML:

public partial class WorkItemChangedEvent
{
private AddedRelation[] addedRelations;

/// <remarks/>
    [XmlArrayItemAttribute("AddedRelation", IsNullable = false)]
    public AddedRelation[] AddedRelations
    {
        get { return this.addedRelations; }
        set { this.addedRelations = value; }
    }

[GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [SerializableAttribute()]
    [DebuggerStepThroughAttribute()]
    [DesignerCategoryAttribute("code")]
    [XmlTypeAttribute(Namespace = "")]
    public partial class AddedRelation
    {
        #region Fields
        private string workItemId;
        #endregion

        /// <remarks/>
        public string WorkItemId
        {
            get { return this.workItemId; }
            set { this.workItemId = value; }
        }
    }
}
公共部分类WorkItemChangedEvent
{
私有加法关系[]加法关系;
/// 
[XmlArrayItemAttribute(“AdderRelation”,IsNullable=false)]
公共附加关系[]附加关系
{
获取{返回this.addedRelations;}
设置{this.addedRelations=value;}
}
[GeneratedCodeAttribute(“xsd”、“2.0.50727.42”)]
[SerializableAttribute()]
[DebuggerStepThroughAttribute()]
[设计类别属性(“代码”)]
[XmlTypeAttribute(名称空间=”)]
公共部分类加法运算
{
#区域字段
私有字符串workItemId;
#端区
/// 
公共字符串工作项ID
{
获取{返回this.workItemId;}
设置{this.workItemId=value;}
}
}
}

我仍然认为原始解决方案背后一定有某种逻辑,因为它是由TFS作者(MS)设计的?不管怎样,我很高兴它现在起作用了,我首先回答了我的问题;]

我稍微更改了WorkItemChangedEvent类的结构,以匹配XML:

public partial class WorkItemChangedEvent
{
private AddedRelation[] addedRelations;

/// <remarks/>
    [XmlArrayItemAttribute("AddedRelation", IsNullable = false)]
    public AddedRelation[] AddedRelations
    {
        get { return this.addedRelations; }
        set { this.addedRelations = value; }
    }

[GeneratedCodeAttribute("xsd", "2.0.50727.42")]
    [SerializableAttribute()]
    [DebuggerStepThroughAttribute()]
    [DesignerCategoryAttribute("code")]
    [XmlTypeAttribute(Namespace = "")]
    public partial class AddedRelation
    {
        #region Fields
        private string workItemId;
        #endregion

        /// <remarks/>
        public string WorkItemId
        {
            get { return this.workItemId; }
            set { this.workItemId = value; }
        }
    }
}
公共部分类WorkItemChangedEvent
{
私有加法关系[]加法关系;
/// 
[XmlArrayItemAttribute(“AdderRelation”,IsNullable=false)]
公共附加关系[]附加关系
{
获取{返回this.addedRelations;}
设置{this.addedRelations=value;}
}
[GeneratedCodeAttribute(“xsd”、“2.0.50727.42”)]
[SerializableAttribute()]
[DebuggerStepThroughAttribute()]
[设计类别属性(“代码”)]
[XmlTypeAttribute(名称空间=”)]
公共部分类加法运算
{
#区域字段
私有字符串workItemId;
#端区
/// 
公共字符串工作项ID
{
获取{返回this.workItemId;}
设置{this.workItemId=value;}
}
}
}
我仍然认为原始解决方案背后一定有某种逻辑,因为它是由TFS作者(MS)设计的?不管怎样,我很高兴它现在起作用了,我首先回答了我的问题;]