protected override void OnBeforeInit(int tag, ref DataFormat format) { innerProperty = PropertyFactory.CreatePassThru <TValue>(tag, ref format); MethodInfo addMethod = PropertyFactory.GetAddMethod(typeof(TList), typeof(TValue)); #if CF2 add = delegate(TList source, TValue value) { addMethod.Invoke(source, new object[] { value }); }; #else add = (Setter <TList, TValue>)Delegate.CreateDelegate(typeof(Setter <TList, TValue>), null, addMethod); #endif base.OnBeforeInit(tag, ref format); }
protected override void OnBeforeInit(int tag, ref DataFormat format) { // use the default format for the keys... DataFormat defaultFormat = DataFormat.Default; keyProp = PropertyFactory.CreatePassThru <TKey>(TAG_KEY, ref defaultFormat); // ...and the specified format for the values valueProp = PropertyFactory.CreatePassThru <TValue>(TAG_VALUE, ref format); format = ProtoBuf.DataFormat.Default; // but are serializing as string... base.OnBeforeInit(tag, ref format); }
protected override void OnBeforeInit(int tag, ref DataFormat format) { innerSerializer = PropertyFactory.CreatePassThru <string>(tag, ref format); base.OnBeforeInit(tag, ref format); }
protected override void OnBeforeInit(int tag, ref DataFormat format) { innerProperty = PropertyFactory.CreatePassThru <TValue>(tag, ref format); base.OnBeforeInit(tag, ref format); }