小编scr*_*ibe的帖子

当Object改变时通知TObjectList

(TObjectList)的对象可以知道(TMyObject)的某些值何时被更改?

一些例子:

TMyObject = class
  oName: string;
end;

TMyObjectList = class(TObjectList<TMyObject>)
end;

procedure Form1.Button1.Click(Sender: TObject);
var
  Obj: TMyObject;
  List: TMyObjectList;
Begin
 List:= TMyObjectList.Create;
 Obj:= TMyObject.Create;
 List.Add(Obj);
 List[0].oName:= 'Test'; // here a want to know from var (List) when this object (Obj or List[0]) changed his value..
end;
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

delphi

2
推荐指数
1
解决办法
996
查看次数

为什么在调试器中使用不调用 dispose 方法

我有这个测试代码。为什么在 using 语句中引发异常时不调用 dispose 方法? 根据文档,它应该被调用。

using System;
using System.IO;
using System.Text;

namespace UsingTest {
    class Program {
    public class MyClass : IDisposable
    {
        private bool disposed = false;

        public void Dispose() {
            Dispose(true);
            GC.SuppressFinalize(this);
        }

        public void Dispose(bool disposing) {
            if (!disposed) {
                if (disposing) {
                    using (var f = new FileStream("log.txt", FileMode.Create)) {
                        var msg = "MyClass disposed";
                        f.Write(Encoding.UTF8.GetBytes(msg), 0, Encoding.UTF8.GetByteCount(msg));
                    }
                }
                disposed = true;
            }
        }

        ~MyClass() {
            Dispose(false);
        }
    }

    static void Main(string[] args) …
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
1338
查看次数

标签 统计

c# ×1

delphi ×1