C# 向函数添加XML文档

C# 向函数添加XML文档,c#,.net,C#,.net,我得到了一个函数,基本上就是这个方法: /// <summary>Extracts the parent id.</summary> /// <param name="nameEntities">The name entities.</param> /// <param name="tcdMakeId">The TCD make id.</param> /// <returns>Parent Id.</re

我得到了一个函数,基本上就是这个方法:

/// <summary>Extracts the parent id.</summary>
/// <param name="nameEntities">The name entities.</param>
/// <param name="tcdMakeId">The TCD make id.</param>
/// <returns>Parent Id.</returns>
public Nullable<int> ExtractParentId( IEnumerable<NameEntity> nameEntities, int childId )
{
    /* Do some Extraction here */
}
///提取父id。
///实体的名称。
///经颅多普勒成像仪识别。
///父Id。
公共可为空的ExtractParentId(IEnumerable nameEntities,int childId)
{
/*在这里做一些提取*/
}
在该方法中,为参数等添加漂亮的XML文档完全没有问题。但是有没有一种方法可以通过函数来实现呢?我同事的智能感知只给了他Arg1,Arg2

其职能是:

private Func<IEnumerable<NameEntity>, int, Nullable<int>> ExtractParentId
{
    get
    {
        return this._extractParentId = this._extractParentId ??
            new Func<IEnumerable<NameEntity>, int, Nullable<int>>( ( nameEntities, childId ) =>
            {
                /* Do some Extraction here */
            } );
    }
}
private Func ExtractParentId
{
得到
{
返回此。\u extractParentId=此。\u extractParentId??
新Func((名称实体,子ID)=>
{
/*在这里做一些提取*/
} );
}
}
我知道这不是一个完美的例子,但我不能在这里发布真正的代码(公司:/而且很长),但这基本上是一个分条的版本

非常感谢,
Marc

在我看来,你很像是在试图重新发明代理轮:

/// <summary>
/// 
/// </summary>
/// <param name="nameEntities"></param>
/// <param name="childID"></param>
/// <returns></returns> <!--etc-->
private delegate Nullable<int> ExtractParentIdDelegate(IEnumerable<int> nameEntities, int childID);

/// <summary>
/// 
/// </summary>
private ExtractParentIdDelegate FuncExtractParentId
{
    get
    {
        return this._extractParentId = this._extractParentId ?? new ExtractParentIdDelegate(delegate(IEnumerable<int> nameEntites, int childID)
                                                                    {
                                                                            //
                                                                    });
    }
}
//
/// 
/// 
/// 
/// 
///  
私有委托Nullable ExtractParentIdDelegate(IEnumerable nameEntities,int childID);
/// 
/// 
/// 
私有ExtractParentId委托函数ExtractParentId
{
得到
{
返回此项。_extractParentId=this。_extractParentId??新建extractParentId委托(委托(IEnumerable nameEntites,int childID)
{
//
});
}
}

不要使用泛型委托
Func
,而是为此属性声明特定委托类型,并将文档作为委托定义的一部分。然后该属性将显示代理的文档。这就是您所看到的Arg1、Arg2的来源,即
Func
的文档

例如,尝试以下方法:

    /// <summary>
    /// Using Func<int,int,int>, we get generic documentation
    /// </summary>
    public Func<int,int,int> UsingFunc{ get; }

    /// <summary>
    /// Example of a delegate with XML documentation as if it was a method.
    /// </summary>
    /// <param name="left">Left operand</param>
    /// <param name="right">Right operand</param>
    /// <returns>Whatever it returns</returns>
    public delegate int CustomDelegate(int left, int right);

    /// <summary>
    /// Using a custom delegate to get full documentation.
    /// </summary>
    public CustomDelegate UsingCustomDelegate{ get; }
//
///使用Func,我们可以得到通用文档
/// 
使用Func{get;}的公共函数
/// 
///具有XML文档的委托示例,就好像它是一个方法一样。
/// 
///左操作数
///右操作数
///不管它回报什么
公共委托int CustomDelegate(int left,int right);
/// 
///使用自定义委托获取完整文档。
/// 
使用CustomDelegate{get;}的公共CustomDelegate

这不是一个函数。这是一个只读属性你是否在问“我有一个
Func
类型的属性,我能给它XML文档吗,这样intellisense就可以像常规方法一样显示属性的详细信息?”你知道,在德国,我们有一句话“树不见林”。舒利只需将其设为代表即可解决问题!正如我所说的那样,obove。。。我一定是睡得少了。代表就是我要找的!