LightDataAccess.ObjectsChangeTracker.RegisterObject C# (CSharp) Метод

RegisterObject() публичный Метод

public RegisterObject ( object Obj ) : void
Obj object
Результат void
        public void RegisterObject(object Obj)
        {
            var type = Obj.GetType();
            _trackingObjects[Obj] = GetObjectMembers(Obj);
        }

Usage Example

Пример #1
0
        public void TestObjectsTracking()
        {
            var tracker = new ObjectsChangeTracker();
            var a       = new A();

            tracker.RegisterObject(a);
            a.f2 = 3;
            var changes = tracker.GetChanges(a);

            Assert.IsTrue(changes[0].name == "f2");
            tracker.RegisterObject(a);
            changes = tracker.GetChanges(a);
            Assert.IsTrue(changes.Length == 0);

            a.f1 = "new";
            a.f2 = 13;
            a.f3 = false;
            for (int i = 0; i < 10; ++i)
            {
                tracker.GetChanges(a);
            }

            changes = tracker.GetChanges(a);
            Assert.IsTrue(TestUtils.AreEqualArraysUnordered(new[] { "f1", "f2", "f3" }, changes.Select(c => c.name).ToArray()));

            changes = tracker.GetChanges(new A());
            Assert.IsNull(changes);
        }
All Usage Examples Of LightDataAccess.ObjectsChangeTracker::RegisterObject