Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Cómo se codifica la programación dinámica?

¿Cómo se codifica la programación dinámica?

¿Por qué hacer esto? ¿No asigna valores a los atributos video_user_1 y video_user_user_subscribe_number del objeto user_source_setting?

-

La situación de la que estás hablando es la compilación y ejecución dinámica, pero este método requiere demasiados desvíos para lograr tu objetivo.

Difícil de lograr

//El siguiente es un ejemplo:

Usa el sistema;

Usa el sistema. Reflexionar;

Utilizar el sistema. Globalización;

Usa Microsoft. CSharp

Usa el sistema. CodeDom

Utiliza el sistema. CodeDom .Compiler;

Utiliza el sistema. text;

Aplicación de consola de espacio de nombres1

{

Curso público

{

static void Main(string[ ] args)

{

// 1.CSharpCodePrivoder

CSharpCodeProvider objcsharpcodeprovoder = new CSharpCodeProvider();

// 2.ICodeComplier

descompilador ico objICodeCompiler = objcsharpcodeprovoder. crear compilador();

// 3. Parámetros del compilador

parámetros del compilador objCompilerParameters = nuevos parámetros del compilador();

objCompilerParameters. ensamblados de referencia . Add(" system . dll ");

objCompilerParameters. GenerateExecutable = false

objCompilerParametersGenerateInMemory = true

// 4. Resultado del compilador

Resultado del compilador cr = objICodeCompiler. CompileAssemblyFromSource(objCompilerParameters, generar código());

if (cr.Errors.HasErrors)

{

Consola. WriteLine("Error de compilación: ");

foreach(Error del compilador en error cr. Error)

{

Consola. WriteLine(Error.ErrorText);

}

}

Otro

{

//A través de la reflexión Llame a la instancia de HelloWorld.

Montaje = cr. Ensamblado compilado;

objeto objHelloWorld = objAssembly. crear instancia(" universidad dinámica. hola mundo");

MethodInfo objMI = objHelloWorld. ObtenerTipo().

get método(" Salida ");

Console. WriteLine(objMI.Invoke(objHelloWorld, null));

}

Consola. ReadLine();

}

Código de generación de cadenas estáticas()

{

StringBuilder sb = new StringBuilder();< / p>

Alguien (abreviatura de alguien)Append("Usar sistema;");

Alguien (abreviatura de alguien)Append(entorno. nueva línea);

Alguien (abreviatura para alguien)Append("Degradación dinámica del espacio de nombres");

Alguien (abreviatura de alguien)Append(environment.newline);

Alguien (abreviatura de alguien) append (" { ")

Alguien (abreviatura de alguien) append (environment. newline)

Alguien (abreviatura de alguien) append(" clase pública hola mundo ");

Alguien (abreviatura de alguien) appends (environment. newline);

Alguien (abreviatura de alguien) appends (" { "

Alguien (abreviatura de alguien) append(environment.line); break);

Alguien (abreviatura de alguien) append(" public string OutPut()");

Alguien (abreviatura de alguien) agrega (entorno. nueva línea);

Alguien (abreviatura de alguien) agrega (" { ");

Alguien (abreviatura de alguien) agrega (entorno. nueva línea);

Alguien (abreviatura de alguien) agrega( " return " ¡Hola mundo!\";");

Alguien (abreviatura de alguien) append (environment. newline

Alguien (abreviatura de alguien) append (" } ");

Alguien (abreviatura de alguien) agrega (entorno. nueva línea);

Alguien (abreviatura de alguien) agrega (" } "); alguien) agrega (entorno. nueva línea);

p>

Alguien (abreviatura de alguien) append(" } ");

Código de cadena = sb. ToString();

Consola. WriteLine(código);

Consola. WriteLine();

Código de retorno;

}

}

}

">