Castle.DynamicProxy.Builder.CodeGenerators.InterfaceProxyGenerator.CustomizeGetObjectData C# (CSharp) Method

CustomizeGetObjectData() protected method

protected CustomizeGetObjectData ( Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder codebuilder, ArgumentReference arg1, ArgumentReference arg2 ) : void
codebuilder Castle.DynamicProxy.Builder.CodeBuilder.AbstractCodeBuilder
arg1 Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ArgumentReference
arg2 Castle.DynamicProxy.Builder.CodeBuilder.SimpleAST.ArgumentReference
return void
		protected override void CustomizeGetObjectData(AbstractCodeBuilder codebuilder, ArgumentReference arg1,
		                                               ArgumentReference arg2)
		{
			Type[] key_and_object = new Type[] {typeof(String), typeof(Object)};
			MethodInfo addValueMethod = typeof(SerializationInfo).GetMethod("AddValue", key_and_object);

			codebuilder.AddStatement(new ExpressionStatement(
			                         	new VirtualMethodInvocationExpression(arg1, addValueMethod,
			                         	                                      new FixedReference("__target").ToExpression(),
			                         	                                      _targetField.ToExpression())));
		}