System.Runtime.Serialization.CodeGenerator.New C# (CSharp) Method

New() private method

private New ( ConstructorInfo constructorInfo ) : void
constructorInfo System.Reflection.ConstructorInfo
return void
        internal void New(ConstructorInfo constructorInfo)
        {
            if (_codeGenTrace != CodeGenTrace.None)
                EmitSourceInstruction("Newobj " + constructorInfo.ToString() + " on type " + constructorInfo.DeclaringType.ToString());
            _ilGen.Emit(OpCodes.Newobj, constructorInfo);
        }

Usage Example

コード例 #1
0
            private void ReadClass(ClassDataContract classContract)
            {
                if (classContract.HasExtensionData)
                {
                    LocalBuilder extensionDataLocal = _ilg.DeclareLocal(Globals.TypeOfExtensionDataObject, "extensionData");
                    _ilg.New(XmlFormatGeneratorStatics.ExtensionDataObjectCtor);
                    _ilg.Store(extensionDataLocal);
                    ReadMembers(classContract, extensionDataLocal);

                    ClassDataContract?currentContract = classContract;
                    while (currentContract != null)
                    {
                        MethodInfo?extensionDataSetMethod = currentContract.ExtensionDataSetMethod;
                        if (extensionDataSetMethod != null)
                        {
                            _ilg.Call(_objectLocal, extensionDataSetMethod, extensionDataLocal);
                        }
                        currentContract = currentContract.BaseContract;
                    }
                }
                else
                {
                    ReadMembers(classContract, null /*extensionDataLocal*/);
                }
            }
All Usage Examples Of System.Runtime.Serialization.CodeGenerator::New