在C#XML注释中,如何引用另一个方法的参数?

时间:2016-11-30 17:48:06

标签: c# xml comments

在MethodB XML doc中,我想编写类似

的内容
/// <remarks>Before calling this method, call <see cref="MethodA"> passing zero as <paramef name="MethodA.MyParam"/> value.

MethodA声明为

void MethodA(int MyParam)

有可能吗?目前,我必须这样写:

/// <remarks>Before calling this method, call <see cref="MethodA"> passing zero as <i>MyParam<i/> value.

当然,这会导致潜在的错误,因为如果我输入错误或更改了代码中的名称,编译器不再警告我参数名称错误。

1 个答案:

答案 0 :(得分:1)

你不能。

然而,您可以声明一个Mixin.staticMethod(Type, null, 'apiResponseTransformer', function (json) { var data = angular.fromJson(json); if (angular.isArray(data)) { return data.map(Type.build).filter(Boolean); } return Type.build(data); }) - 类似的公共属性,并在正确调用IsReady时将其设置为true。

MethodA应检查该属性,如果其值为false,则抛出MethodB。然后将此XML内容添加到InvalidOperationException

MethodB

这样,您的实例的状态是公开可用的,因此调用者不需要事先知道是否使用正确的参数调用/// <exception cref="InvalidOperationException"> /// <see cref="IsReady" /> is <c>false<c>. /// </exception> ,它只能检查MethodA是否为真。

在我看来,传递什么参数会使实例“准备好”应该在IsReady自己的文档中,而不是在MethodA中。