小编Jak*_*ake的帖子

你能把变量传递给C#编译器代码吗?

这是我目前的情况 - 我有一个应用程序使用CodeDom编译作为字符串的C#代码.我有一个存储密码的SecureString,我想知道是否有任何方法可以将SecureString变量作为SecureString传递给已编译的代码?

这是一些示例代码:

SecureString securePassword = getSecurePass();

string codeString =
        @"using System;
        using System.Security;

        namespace SomeProgram
        {
            class MyClass
            {
                static void Main(string[] args)
                {
                    SecureString securePass = new SecureString();
                    // somehow set this equal to the securePassword variable
                }
            }
        }";


// Compiler Code
CodeDomProvider codeProvider = CodeDomProvider.CreateProvider("CSharp");
string outFile = "output.exe"; 

System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = true;
parameters.OutputAssembly = outFile;
CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, codeString);
Run Code Online (Sandbox Code Playgroud)

我找不到办法做到这一点,我想这实际上是不可能的,而我可能只是将密码存储在加密文件中并从中读取?

c# compiler-construction codedom

14
推荐指数
1
解决办法
636
查看次数

标签 统计

c# ×1

codedom ×1

compiler-construction ×1