Je me demandais s'il y avait un moyen de passer une valeur de variable dans un code qui sera compilé One Time en utilisant CSharpCodeProvider
.
Définir la valeur de la variable en utilisant CSharpCodeProvider
par exemple:
string code = @"
using System;
namespace First
{
public class Program
{
public int Value; // pass this value
public static void Main()
{
" +
"Console.WriteLine(\"Hello + Value\");"
+ @"
}
}
}
« ;
Compile Méthode:
public void Compile(String Code)
{
CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters parameters = new CompilerParameters();
parameters.ReferencedAssemblies.Add("System.Drawing.dll");
parameters.GenerateInMemory = true;
parameters.GenerateExecutable = false;
CompilerResults results = provider.CompileAssemblyFromSource(parameters, Code);
}
donc je veux être en mesure de transmettre une valeur de l'Value
exemple 2
et ce que je veux dire par ONE TIME
est comme compile time
donc le code compilé sera toujours dans son exécution affichera la valeur: 2
chaque fois que j'ai exécuté l'application.
J'espère que c'est clair!
Pouvez-vous vous assurer que le 'est dans un recueil HSC format spécifique? Par exemple. que la valeur à définir est 'public int Value = {0};'? – svick