// Methods internal StandardTrackedObject(StandardChangeTracker tracker, MetaType type, object current, object original) { if (current == null) { throw Error.ArgumentNull("current"); } this.tracker = tracker; this.type = type.GetInheritanceType(current.GetType()); this.current = current; this.original = original; state = State.PossiblyModified; //if (type is DynamicMetaType) //{ // //TODO:由于 DynamicMetaType.DataMembers 数量是变值,只能暂时给最个大值, // dirtyMemberCache = new BitArray(DynamicMetaType.MaxDataMembersCount); //} //else dirtyMemberCache = new BitArray(this.type.DataMembers.Count); }
internal StandardTrackedObject(StandardChangeTracker tracker, MetaType type, object current, object original, bool isWeaklyTracked) : this(tracker, type, current, original) { this.isWeaklyTracked = isWeaklyTracked; }