سؤال

وتمكنت من إنشاء فئة باستخدام CodeDom وإضافة أسلوب واحد لتلك الفئة. الآن، هل هناك طريقة ل، بعد أن شيدت المثال CodeCompileUnit الموفرة، ترجمة رمز واستدعاء الأسلوب ولدت؟ وإلى أن يتم استدعاء الأسلوب في نفس سياق الإشارة إلى رمز جيل.

هل كانت مفيدة؟

المحلول

والمحصلة من من المنجم بلوق :

    CSharpCodeProvider codeProvider = new CSharpCodeProvider();
    codeProvider.GenerateCodeFromNamespace(codeNamespace, new StringWriter(), new CodeGeneratorOptions());

    CompilerParameters param = new CompilerParameters(assemblyReferences);
    param.GenerateExecutable = false;
    param.GenerateInMemory = true;
    param.TreatWarningsAsErrors = false;
    param.WarningLevel = 4;

    CompilerResults results = codeProvider.CompileAssemblyFromDom(param, compileUnit);
    Assembly assembly = results.CompiledAssembly;

    Type[] types = assembly.GetExportedTypes();

ويمكنك بعد ذلك استخدام التفكير في أنواع لإنشاء مثيل من النوع الذي تريده وتنفيذ أيا كانت الطريقة التي تريدها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top