private void CreateStaticClass(Transaction trans) { if (trans.Container().IsClient) { return; } StaticClass sc = new StaticClass(GetName(), ToStaticFieldArray(StaticReflectFieldsToStaticFields ())); SetStaticClass(trans, sc); }
private void SetStaticClass(Transaction trans, StaticClass sc) { // TODO: we should probably use a specific update depth here, 4? trans.Container().StoreInternal(trans, sc, true); }
private void UpdateStaticClass(Transaction trans, StaticClass sc) { ObjectContainerBase stream = trans.Container(); stream.Activate(trans, sc, new FixedActivationDepth(4)); StaticField[] existingFields = sc.fields; IEnumerator staticFields = Iterators.Map(StaticReflectFields(), new _IFunction4_1760 (this, existingFields, trans)); sc.fields = ToStaticFieldArray(staticFields); if (!stream.IsClient) { SetStaticClass(trans, sc); } }