Wat*_* v2 -3 c# xml-documentation
我正在尝试为我编写的API编写一些文档.C#编译器不会为此特定方法生成文档.它说XML文档格式不正确.
你能帮我辨认一下它的不良形象吗?我已多次检查代码,但我找不到问题.不幸的是,C#编译器不会告诉我哪一行导致了问题.
/// <summary>
/// Given a value pertaining to a specific culture, let's call it the value culture,
/// this method returns a sequence of resource keys and their values in another culture,
/// let's call this the desired culture, based on a search of matching values in the value culture.
/// The search can further be filtered based on metadata.
/// </summary>
/// <typeparam name="T">Represents the System.Type of value to look up and return.</typeparam>
/// <param name="value">The value pertaining to a value culture to search for.</param>
/// <param name="valueCulture">The short name of the culture to which the value specified by the <paramref name="value"/> parameter belongs.</param>
/// <param name="desiredCulture">The short name of the culture in which matching resource keys and values are to be sought.</param>
/// <param name="metadata">Metadata to filter the search results with.</param>
/// <param name="defaultValue">A default value to be returned if no matching records are found.</param>
/// <returns>Returns an object of <see cref = "ReverseLookupResult{T}"/>, which contains all the search parameters and a sequence of matches.</returns>
/// <remarks>
/// <para>One of the most common scenarios when implementing internationalization in your software is this.</para>
///
/// <para>The application you want to internationalize has already been developed. Or at least a
/// significant part of it has been developed and work is ongoing, and amidst the chaos, you
/// have been asked to internationalize string resources.</para>
///
/// <para>In this scenario, you already have English strings in your application. It would be so much nicer and easier for you
/// did not have remember resource keys but simply call a method to which you gave an English value and it gave you back the
/// equivalent value in another culture of your choice. For e.g. if you wanted to translate your software into French, it would
/// be so much nicer if you simply supplied to a method the value "Hello" in English and it returned to you "Bonjour". That way,
/// you could simply call that method wherever the English strings were in your application without having to remember resource keys.</para>
///
/// <para>This is the primary need that this method fulfills.</para>
///
/// <example>
/// Consider this example. Suppose you had a program like so:
///
/// <code>
/// public void PrintMessage()
/// {
/// System.Console.WriteLine("Hello");
/// }
/// </code>
/// </example>
///
/// <example>
/// And you were asked to internatlize it to support French. You would use this method like so:
///
/// <code>
/// private string _desiredCulture = "fr-FR";
///
/// public void PrintMessage()
/// {
/// ResourceManager resourceManager = new ResourceManager("en-US");
///
/// var reverseLookupResult = resourceManager.ReverseLookup("Hello", "en-US",
/// _desiredCulture, null, "Hello");
///
/// if (reverseLookupResult != null && reverseLookupResult.Matches.Count > 0)
/// {
/// System.Console.WriteLine(reverseLookupResult.Matches.First().Value);
/// }
/// }
/// </code>
/// </example>
///
/// </remarks>
public ReverseLookupResult<T> ReverseLookup<T>(T value, string valueCulture, string desiredCulture,
IMetadata metadata, T defaultValue = default(T))
Run Code Online (Sandbox Code Playgroud)
在这一行
/// if (reverseLookupResult != null && reverseLookupResult.Matches.Count > 0)
Run Code Online (Sandbox Code Playgroud)
你使用&而不是逃避它&.在XML中,plain &表示字符引用的开头.以下修复了您的问题:
/// if (reverseLookupResult != null && reverseLookupResult.Matches.Count > 0)
Run Code Online (Sandbox Code Playgroud)
调试提示:删除行并重新编译,直到问题消失.如果你巧妙地这样做,你会发现有问题的线路O(log n).这就是我发现问题的方法.这不仅适用于XML文档,也适用于错误消息未指定违规行的所有其他情况.
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |