在C#XML注释中,如何引用另一个方法的参数?
在MethodBXMLdoc中,我想编写如下内容在C#XML注释中,如何引用另一个方法的参数?,c#,xml,comments,C#,Xml,Comments,在MethodBXMLdoc中,我想编写如下内容 /// <remarks>Before calling this method, call <see cref="MethodA"> passing zero as <paramef name="MethodA.MyParam"/> value. 可能吗?目前,我不得不这样写: /// <remarks>Before calling this method, call <see cref="
/// <remarks>Before calling this method, call <see cref="MethodA"> passing zero as <paramef name="MethodA.MyParam"/> value.
可能吗?目前,我不得不这样写:
/// <remarks>Before calling this method, call <see cref="MethodA"> passing zero as <i>MyParam<i/> value.
///在调用此方法之前,调用传递零作为MyParam值。
当然,这会导致潜在的错误,因为如果我在代码中输入错误或更改了名称,编译器将不再警告我参数名称是错误的。您不能这样做
但是,您可以声明一个类似于IsReady
的公共属性,并在正确调用MethodA
时将其设置为true
MethodB
应该检查该属性,如果其值为false,则抛出一个invalidoOperationException
。然后将此XML元素添加到方法B
:
/// <exception cref="InvalidOperationException">
/// <see cref="IsReady" /> is <c>false<c>.
/// </exception>
//
///这是错误的。
///
这样,实例的状态是公共可用的,因此调用方不需要事先知道是否使用正确的参数调用了MethodA
,它只需检查IsReady
是否为true即可
传递什么参数可以使实例“就绪”应该在
方法a
自己的文档中,而不是在方法B
中,在我看来。不确定您是否可以,实际上我觉得这有点像代码的味道。是的。味道好极了。为什么不从MethodB
一开始就调用MethodA
,而不是把这个责任交给方法的用户呢?不,不,代码只是为了说明我需要从一个方法引用另一个方法的参数。实际情况会有所不同(例如,有点像“如果调用DownloadItems方法时未将EmailMessageSchema.Body添加到中,则此属性为null”)。谢谢。我添加了注释来解释代码并没有反映我所拥有的实际代码,我只是尝试编写一些非常简单的代码,并将重点放在XML内容上,而不是放在代码本身上。
/// <exception cref="InvalidOperationException">
/// <see cref="IsReady" /> is <c>false<c>.
/// </exception>