最近、単純な C# プロジェクトがありますが、fortify を介したスキャン レポートによるセキュリティ リスクがあります。このプロジェクトは、.NET Windows フォーム アプリケーションに基づいています。このリスクの名前は ですUnreleased Resource: Unmanaged Object(unmanaged_object)
。
たとえば、ツールボックスのコントローラーの図をフォーム デザインにドロップして、ラベル コントローラーを作成したい場合。次に、フォントサイズを変更すると、コードがForm1.Designer
自動的に変更されます。たとえば、次のコードが生成されます。
this.label1.font = new System.Drawing.Font(...)
重要なのは、コンストラクターを介して Font オブジェクトを宣言することSystem.Drawing.Font(...)
です。しかし、私たちはこのオブジェクトを処分しませんか? では、このリスクを回避するにはどうすればよいでしょうか。
ps、Form1.Designer
ファイル内のビジュアルスタジオによって生成された領域のコードを変更すると。その後、フォームを編集することさえできなくなります ~ (コントローラーの設定 (例:foreColor
底のプロパティの変更) により、ファイルのこの部分のコードが変更されるため)。
また、初期化メソッドですべてのコントローラーを作成する必要はありません。誰かがこの問題を解決する良い方法を持っていますか? どうもありがとうございました!!