Create method override C# with Example
This example shows how to override ToString method in generated class // create an Assembly and new type var name = new AssemblyName("MethodOverriding"); var dynAsm = AppDomain.CurrentDomain.DefineDynamicAssembly(name, AssemblyBuilderAccess.RunAndSave); var dynModule = dynAsm.DefineDynamicModule(name.Name, $"{name.Name}.dll"); var typeBuilder = dynModule.DefineType("MyClass", TypeAttributes.Public | TypeAttributes.Class); // define a new method var toStr = typeBuilder.DefineMethod( "ToString", // name MethodAttributes.Public | MethodAttributes.Virtual, // modifiers typeof(string), // return type Type.EmptyTypes); // argument types var ilGen = toStr.GetILGenerator(); ilGen.Emit(OpCodes.Ldstr, "Hello, world!"); ilGen.Emit(OpCodes.Ret); // set this method as override of object.ToString typeBuilder.DefineMethodOverride(toStr, typeof(object).GetMethod("ToString")); var type = typeBuilder.CreateType(); // now test it: var instance = Activator.CreateInstance(type); Console.WriteLine(instance.ToString());