Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在使用'var'语法时,是否可以让XML代码注释从接口传递到实现类?_C#_.net_Visual Studio_Comments - Fatal编程技术网

C# 在使用'var'语法时,是否可以让XML代码注释从接口传递到实现类?

C# 在使用'var'语法时,是否可以让XML代码注释从接口传递到实现类?,c#,.net,visual-studio,comments,C#,.net,Visual Studio,Comments,想象一下下面的代码 public interface IFoo { /// <summary> /// Gets bar /// </summary> string Bar(); } public class Foo : IFoo // fixed, as a miss from my simplified example for SO { public string Bar() { return "Bar"; } } 但是如

想象一下下面的代码

public interface IFoo 
{
    /// <summary>
    /// Gets bar
    /// </summary>
    string Bar();
}

public class Foo : IFoo // fixed, as a miss from my simplified example for SO
{
    public string Bar() { return "Bar"; }
}
但是如果使用
var
语法,它不会显示来自接口的代码注释

var instance = new Foo(); // only shows what is in class Foo
为了解决这个问题,我尝试在类Foo的摘要中加入一个
标记,该标记指向接口IFoo,但是这不起作用

是否有一个标签/方法允许接口注释在所有用例中传递


不管它有什么价值,我确实读过/回顾过,在每种情况下提供两个不同的注释对每种方法都是不现实的(通常它们是一个相同的,仅用于注入和测试),所以在这两种情况下提供不同风格的注释是行不通的,至少不是在所有情况下都行。

首先,您的代码没有实现接口。。。但这不是原因。 将摘要块包括在实现和接口中如何

public interface IFoo
{
    /// <summary>
    /// gets Bar
    /// </summary>
    string Bar();
}

public class Foo : IFoo
{
    /// <summary>
    /// gets Bar
    /// </summary>        
    public string Bar() { return "Bar"; }
}
公共接口IFoo
{
/// 
///酒吧
/// 
字符串条();
}
公共类Foo:IFoo
{
/// 
///酒吧
///         
公共字符串Bar(){return“Bar”;}
}
您可以在XML文档中使用“inheritdoc”元素

public interface IFoo
{
    /// <summary>
    /// gets Bar
    /// </summary>
    string Bar();
}

public class Foo : IFoo
{
    /// <inheritdoc />       
    public string Bar() { return "Bar"; }
}
公共接口IFoo
{
/// 
///酒吧
/// 
字符串条();
}
公共类Foo:IFoo
{
///        
公共字符串Bar(){return“Bar”;}
}

如果您使用的是Resharper,则inheritdoc标记应该会有所帮助。这是非常多余的,而且很容易失去同步。在许多情况下,副本应该是相同的,但我不想手动维护两个单独的副本。因此,我的问题是,有没有一种方法可以在不手动保持两个副本同步的情况下做到这一点?
public interface IFoo
{
    /// <summary>
    /// gets Bar
    /// </summary>
    string Bar();
}

public class Foo : IFoo
{
    /// <inheritdoc />       
    public string Bar() { return "Bar"; }
}