gpt4 book ai didi

c# - 是否可以从基类继承抽象方法体中的注释?

转载 作者:行者123 更新时间:2023-11-30 15:28:33 25 4
gpt4 key购买 nike

我有 PersonBaseClass 和派生自它的 EmployeeClass。现在我想在 BaseClass 中定义一个方法体作为注释,当我使用 Resharper 的“实现成员”(或手动实现它们)时,它也会将它放在方法体中。

(大致)类似的东西:

public abstract class PersonBaseClass : DependencyObject
{
//<methodComment>
// object connectionString;
// _configurations.TryGetValue("ConnectionString", out connectionString);
//</methodComment>
protected abstract void InstanceOnPersonChanged(object sender, EventArgs eventArgs);
}

实现后会是这样的:

public class EmployeeClass : PersonBaseClass
{
protected override void InstanceOnPersonChanged(object sender, EventArgs eventArgs)
{
// object connectionString;
// _configurations.TryGetValue("ConnectionString", out connectionString);
}
}

不知何故这已经成为可能了吗?无法让它与 GhostDoc 一起使用.

编辑:这会很有用,因为我想在库中包含 BaseClass,而且它的实现通常每次看起来都一样。

最佳答案

不完全是你要问的,但你可以使用 Ghostdoc 提取评论给继承的成员。请注意,它不会将注释添加到派生类方法的主体,但会将其添加到其注释部分。

假设您有一个这样的类,带有注释嘿,这是很棒的方法:)

public abstract class PersonBaseClass
{
/// <summary>
/// Hey, this is great method :)
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="eventArgs">The <see cref="EventArgs" /> instance containing the event data.</param>
protected abstract void InstanceOnPersonChanged(object sender, EventArgs eventArgs);
}

然后你添加派生类并像这样覆盖成员

public class EmployeeClass : PersonBaseClass
{
protected override void InstanceOnPersonChanged(object sender, EventArgs eventArgs)
{
throw new NotImplementedException();
}
}

然后将光标放在派生类成员的主体内,然后按 ctrl + shift + d。它将从基类中提取评论。

执行上述步骤后,您的派生类将如下所示。

public class EmployeeClass : PersonBaseClass
{
/// <summary>
/// Hey, this is great method :)
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="eventArgs">The <see cref="EventArgs" /> instance containing the event data.</param>
/// <exception cref="System.NotImplementedException"></exception>
protected override void InstanceOnPersonChanged(object sender, EventArgs eventArgs)
{
throw new NotImplementedException();
}
}

关于c# - 是否可以从基类继承抽象方法体中的注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com