注記に含まれ、このoneなどの属性それらを配布することもできます。属性を使用してコンシューマは、プロパティ/メソッド/クラス/ etcの実行時に利用可能な情報を提供します。XMLコメントはおそらくあなたがしようとしているもののために設計されていないからです。
とにかく
、XMLのコメントは以下のいるフォーマット:あなたはまだそれをしたい場合は、あなただけのアプローチを表示するには、あなたの財産(未テストコードを記述し、あなたのXMLコメントファイルをロードして、XMLノードを見つける必要があるので、
<?xml version="1.0"?>
<doc>
<assembly>
<name><!-- assembly name here --></name>
</assembly>
<members>
<!-- ... -->
<member name="M:Full.Type.Name.PropertyName">
<summary>
<!-- property summary here -->
</summary>
</member>
<!-- ... -->
</memebers>
</doc>
):
var a = new MyObject();
var t = a.GetType().GetProperty("City");
string xmlMemberName = "M:" + a.FullName + t.Name;
var xmlDoc = new XmlDocument();
xmlDoc.Load("you_xml_comments_file.xml");
var membersNode = xmlDoc.DocumentElement["members"];
string summary = "";
if(membersNode != null)
{
foreach(XmlNode memberNode in membersNode.ChildNodes)
{
if(memberNode.Attributes["name"].Value == xmlMemberName)
{
summary = memberNode["summary"].InnerText;
break;
}
}
}
Console.WriteLine(summary);
更新:あなたがの.resxにXMLコメントファイルを変換小さなツールを、それを配布することを忘れない、あるいは書き込み決してので、あなたはまた、埋め込まれたリソースとしてあなたのXMLコメントファイルを含めることができますXML reso urcesファイル。 (代わりにビン/リリースまたはbinに/デバッグの)ディレクトリを投影する
- プロジェクトのプロパティでXMLファイルの生成を有効セットXML出力ファイルのパス:埋め込まれたリソースとしてXMLコメントファイルをIncuding
プロジェクトエクスプローラで
- コンパイルプロジェクト
- A
- 開いているファイルのプロパティを「すべてのファイルは、ショー」を有効にして生成されたXMLファイルをinlude ND「埋め込まれたリソース」に設定し、ビルドアクション
は、今すぐあなたのXMLコメントは、この方法をロードすることができるリソースとしてアセンブリファイルに含まれています:
XmlDocument doc;
using(var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(
"your_default_namespace" + "." + "your_xml_file_name.xml"))
{
doc.Load(stream);
}
コメントXMLファイルからの.resx生成するには:
の.resx形式:
<root>
<!-- some header stuff which can be copy-pasted from any other valid .resx -->
<!-- ... -->
<data name="Your_Object_Full_Name_PropertyName" xml:space="preserve">
<value><!-- summary here --></value>
</data>
<!-- ... -->
</root>
文字列をロードすることができますこの.resxからResourceManager
クラスを使用してください。
出典
2010-11-24 14:13:33
max
ASP.NET WebサイトのIIS Expressでこれを使用している場合は、パスを手動で検出するようにしてください。また、enumをターゲットにしている場合は、必ずGetMemberを使用してください。例:var path = Server.MapPath( "〜/ bin /" typeof(YourEnumType).Assembly.GetName()。Name + "。xml"); var str = typeof(YourEnumType).GetMember( "EnumMemberName")[0] .GetXmlDocumentation(path); – kape123