2

redgate の .NET Reflector 8 を使用し、.dll を C# ファイルにエクスポートする機能を使用しましたが、このエラーを修正する方法がわからないという 1 つのエラー状況に遭遇しています。

エラーの状態:エラー 36 演算子 '<' は型 'long' および 'ulong' のオペランドに適用できません

エラーがビットごとに関係していることは理解していますが、特定の状況を修正する方法がわかりません。

if (!flag && (num7 < (((ulong) endLocation) - (((ulong) 4L) + num6))))
         {
           this.offsetOfFirstEntry = endLocation - ((4L + ((long) num6)) + num7);
              if (this.offsetOfFirstEntry <= 0L)
                    {
                        throw new ZipException("Invalid embedded zip archive");
                    }
}

エラーのスナップショットを次に示します。

ここに画像の説明を入力

この種のエラーを修正する最善の方法は何ですか?

4

1 に答える 1

2

num7へのキャストはどうulongですか?

if (!flag && ((ulong)num7 < (((ulong) endLocation) - (((ulong) 4L) + num6))))

ちなみに、これはビット演算子とは関係ありません。

于 2014-04-13T12:34:00.343 に答える