システムで dll を使用しようとしています。メソッドの 1 つは、オブジェクト ブラウザで次のように定義されたディクショナリ オブジェクトを返します。
"System.Collections.Generic.Dictionary<<string,1.5>>"
1.5とは?それとも、意図しない使用から dll をロックするセキュリティ メカニズムですか?
システムで dll を使用しようとしています。メソッドの 1 つは、オブジェクト ブラウザで次のように定義されたディクショナリ オブジェクトを返します。
"System.Collections.Generic.Dictionary<<string,1.5>>"
1.5とは?それとも、意図しない使用から dll をロックするセキュリティ メカニズムですか?
「1.5」は、一般的な .NET 言語では有効な型名ではありません。型名は文字で始める必要があります。プログラムが解析される前に、ソースコードをトークンに前処理するコンパイラの一部であるレクサーの仕事を単純にするために重要です。レクサーは、「1.5」を識別子ではなく数値として識別します。
CLR には、それに関するより緩い規則がありますが、型名にはほぼ何でも当てはまります。これは、難読化ツールによって利用されます。アセンブリからのソース コードのリバース エンジニアリングを困難にする、アセンブリのビルド後に実行するプログラム。Reflector や ILSpy など、.NET で使用できる非常に優れた逆コンパイラがいくつかあります。難読化ツールは、それらを無効にするように設計されています。
使用しているアセンブリが難読化されている可能性が高い。