3

私はC#を初めて使用し、メモリプロファイリングを実行し、いくつかのリソースを破棄してGCのファイナライズメソッドを呼び出す必要があるため、大量のメモリを占有するオブジェクトを破棄しようとしています。しかし、IDisposable が私のクラスを実装できないのはなぜですか? クラスにIDisposeを実装するにはどうすればよいですか?

 public class CellItem: IDisposable
        {
            public int MedicationDispenseId { get; set; }
            public Enumerations.Timeslot Timeslot { get; set; }
            public DateTime DateAdministered { get; set; }

            public void dispose() {

                if (this.MedicationDispenseId != null ) {
                    this.dispose();

                }
                if (this.Timeslot != null)
                {
                    this.dispose();

                }
                if (this.DateAdministered != null)
                {
                    this.dispose();

                }
            }

        }
4

1 に答える 1

3

C# is case-sensitive, you want to name your methods starting with capital letter, i.e.

dispose => Dispose

Also have a look at Implement IDisposable correctly and yet another good answer from John Skeet.

于 2013-08-23T10:11:41.673 に答える