機能しないはずのコードに混乱していますが、奇妙なことに、機能していて、明らかなことを見落としているだけです。私はAccord.NETフレームワークのソース コードを見ていて、それをダウンロードしてコンパイルしましたが、何か混乱しています。Accord.Math と呼ばれるアセンブリの 1 つに、 Indices.csというファイルがあります。定義は次のとおりです。
internal static class Indices
{
// Lots of code
// ...
// ...
}
これは35 行目で確認できます。
Accord.Statistics という別のアセンブリには、 Tools.csというファイルがあります。そのファイルには、次の行があります。
return Accord.Math.Indices.Random(k, n);
これは329 行目で確認できます。
Accord.Math.Indices
としてマークされているため、この行がクラスを参照する方法について混乱していinternal
ます。私の理解では、 としてマークされたinternal
クラスは、同じ DLL ファイルに存在するクラスによってのみアクセスできるということです。誰かがこれがどのように機能しているのか説明できますか?