2017-12-27 17 views
-2

私はKetarinのレジストリ関数 "class"を開発しました。私はWindows用のDoxygenを使ってそれをドキュメント化しています。Doxygenが内部のC#関数のドキュメントを生成していません

私は上のチュートリアル以下(Doxywizardを使用して)ドキュメントの構築:http://www.tech-coder.com/2016/12/generate-html-documentation-using.html

このドキュメントのみ二つの第一の機能と他には何を。私は "エキスパート"タブの "ビルド"列にあるすべてのボックスをチェックしようとしましたが、役に立たなかった。

(ドキュメントなど - のみ2つの機能を示すこと)コードは、例えばhttps://github.com/coldscientist/RegClassCS

でGitHubの上で見つけることができ、以下の内部の方法がドキュメントに通常示される:

/// <summary> 
/// Creates a new subkey or opens an existing subkey for write access. 
/// </summary> 
/// <param name="rootName">The HKEY to open.</param> 
/// <param name="keyName">The name or path of the subkey to create or open. This string is not case-sensitive.</param> 
/// <returns>The newly created subkey, or false if the operation failed. If a zero-length string is specified for subkey, the current RegistryKey object is returned.</returns> 
Func<string, string, bool> RegCreateKey = new Func<string, string, bool>((rootName, keyName) => 
    { 
     try 
     { 
      Ketarin.Forms.LogDialog.Log("RegCreateKey(" + rootName + ", " + keyName + ")"); 

      Microsoft.Win32.RegistryKey localKey = RegOpenSubKey(rootName); 
      // localKey = localKey.OpenSubKey(keyName, writable: true); 

      using (localKey) 
      { 
       RegCreateKey: 
       if (localKey != null) 
       { 
        localKey.CreateSubKey(keyName); 
       } 
       else 
       { 
        // Abort("Key " + rootName + @"\" + keyName + " not found."); 

        goto RegCreateKey; 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      // Abort(ex.ToString()); 
      return false; 
     } 

     return true; 
    }); 

しかし(1つ下)方法に従って文書化されていない。

/// <summary> 
/// Deletes a subkey and any child subkeys recursively. No warning will be provided. 
/// </summary> 
/// <param name="rootName">The HKEY to open.</param> 
/// <param name="subKeyName">The subkey to delete. This string is not case-sensitive.</param> 
/// <returns>Returns false if the operation failed.</returns> 
Func<string, string, bool> RegDeleteKey = new Func<string, string, bool>((rootName, subKeyName) => 
    { 
     try 
     { 
      Ketarin.Forms.LogDialog.Log("RegDeleteKey(" + rootName + ", " + subKeyName + ")"); 

      string keyName = subKeyName.Substring(0, subKeyName.LastIndexOf(@"\")); 
      string subTreeName = subKeyName.Substring(subKeyName.LastIndexOf(@"\")+1); 

      Microsoft.Win32.RegistryKey localKey = RegOpenSubKey(rootName); 
      localKey = localKey.OpenSubKey(keyName, writable: true); 

      using (localKey) 
      { 
       if (localKey != null) 
       { 
        localKey.DeleteSubKeyTree(subTreeName); 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      return false; 
      // Abort(ex.ToString()); 
     } 

     return true; 
    }); 

私はそれが私はそれを符号化方法(コードコンパイルに関連していることを疑ってい 通常は)。たぶん、コンマがないか、またはDoxygen自体が欠落しているコードフォーマットがあるかもしれません。

Searching for include files... 
Searching for example files... 
Searching for images... 
Searching for dot files... 
Searching for msc files... 
Searching for dia files... 
Searching for files to exclude 
Searching INPUT for files to process... 
Searching for files in directory S:/Applications/Scripts/RegClassCS 
Searching for files in directory S:/Applications/Scripts/RegClassCS/doc 
Reading and parsing tag files 
Parsing files 
Reading S:/Applications/Scripts/RegClassCS/README.md... 
Preprocessing S:/Applications/Scripts/RegClassCS/RegClass.cs... 
Parsing file S:/Applications/Scripts/RegClassCS/RegClass.cs... 
Building group list... 
Building directory list... 
Building namespace list... 
Building file list... 
Building class list... 
Associating documentation with classes... 
Computing nesting relations for classes... 
Building example list... 
Searching for enumerations... 
Searching for documented typedefs... 
Searching for members imported via using declarations... 
Searching for included using directives... 
Searching for documented variables... 
Building interface member list... 
Building member list... 
Searching for friends... 
Searching for documented defines... 
Computing class inheritance relations... 
Computing class usage relations... 
Flushing cached template relations that have become invalid... 
Computing class relations... 
Add enum values to enums... 
Searching for member function documentation... 
Creating members for template instances... 
Building page list... 
Search for main page... 
Computing page relations... 
Determining the scope of groups... 
Sorting lists... 
Freeing entry tree 
Determining which enums are documented 
Computing member relations... 
Building full member lists recursively... 
Adding members to member groups. 
Computing member references... 
Inheriting documentation... 
Generating disk names... 
Adding source references... 
Adding xrefitems... 
Sorting member lists... 
Computing dependencies between directories... 
Generating citations page... 
Counting data structures... 
Resolving user defined references... 
Finding anchors and sections in the documentation... 
Transferring function references... 
Combining using relations... 
Adding members to index pages... 
Generating style sheet... 
Generating search indices... 
Generating example documentation... 
Generating file sources... 
Generating file documentation... 
Generating docs for file README.md... 
Generating docs for file RegClass.cs... 
Generating page documentation... 
Generating docs for page md_README... 
Generating group documentation... 
Generating class documentation... 
Generating namespace index... 
Generating graph info page... 
Generating directory documentation... 
Generating index page... 
Generating page index... 
Generating module index... 
Generating namespace index... 
Generating namespace member index... 
Generating annotated compound index... 
Generating alphabetical compound index... 
Generating hierarchical class index... 
Generating member index... 
Generating file index... 
Generating file member index... 
Generating example index... 
finalizing index lists... 
writing tag file... 
lookup cache used 2/65536 hits=2 misses=2 
finished... 
S:/Applications/Scripts/RegClassCS/README.md:3: warning: Unexpected html tag  found within context 
*** Doxygen has finished 
+0

ないアイデアを使用しているツールにそれが該当する場合、一般的にはそこに誰のような内部メソッドのドキュメントを生成する理由はありませんが、(アセンブリの著者として)あなたは、このようなメソッドを呼び出すことができます。.. –

+1

あなたが実際に質問のために興味深いコードを感じるならば、postは[mcve] inlineを投稿に含めるべきであることに注意してください。 –

+0

doxygenのどのバージョン?前に@AlexeiLevenkovによって言われたように、今のところ私たちはそれが失敗する理由を見ることはできません。 EXTRACT_ALLのような設定と\ internal – albert

答えて

0

私はあきらめてNatural Docsへの移行:それは場合に役立ちます。ここ

は、Doxygenの出力です。しかし、Doxygenによって以前には印刷されなかった内部関数の後で、私のコードには存在しない内部メソッドが現れたことに気付きました(しかし、明らかに内部メソッドargsによって得られます - 以下のRegSetValue参照)。 "RegCreateKey"を削除すると、その下のメソッド( "文字列")も(明らかに)削除されます。おそらくDoxygenで同じことが起こっているかもしれませんが、続行する代わりに、ファイルの処理が停止します(わかりません)。私はちょうどそれを他の人々やDoxygenに(おそらく)将来これをチェックするのを助けるために投稿しています。

Natural Docsでは、文書を作成するときにarg -doを使用して、これらの望ましくない内部メソッド(実際には存在しない)を隠すことができるため、文書化された内部メソッドのみが表示されます。

enter image description here

関連する問題