ファイルから C# コードを検証する WPF アプリケーションに取り組んでいます。
ファイルを取得し、別の必要に応じてそのタイプをインスタンス化することができました。
ここで必要なのは、設定した基準に照らしてそのコードを検証することです。どういう意味ですか?
ファイル「Test.cs」があり、このファイルに次のコードがあるとします。
using xpto;
using abcd;
public class Test
{
public static void Testing()
{
Iqueryable<XYZ> var1 = ctx.Where(c => c.IdSomething == number);
var1 = var1.Where(v => v.Count(x => x.ValZ) > 0);
}
}
私のアプリでは、このファイルをインスタンス化し (既に完了しています)、いくつかのルールに対して検証します。たとえば、次の行で:
var1 = var1.Where(v => v.Count(x => x.ValZ) > 0);
Count(...) > 0
ファイルが の代わりに使用していることを伝えたいですAny()
。ファイルをテキストで読み取ることでそれができることは知っていますが、リフレクションを使用してそれが可能かどうか、またはそのようなハードコーディングを必要としない他の方法で可能かどうかを知りたいと思いました。これは、ファイルをインスタンス化するために私が行うことです (これは実際の例です)。
CompilerResults cr = provider.CompileAssemblyFromFile(cp, sourceFile.FullName);
Type instanceType = cr.CompiledAssembly.GetExportedTypes()
.FirstOrDefault(e => e.Name.Equals(className));
これが明確でない場合は、詳しく説明できるようにお知らせください。