static void Main(string[] args) { var injection = new PolicyInjection(Assembly.GetExecutingAssembly()); var applyPolicies = new List <Type>() { typeof(ExamplePolicy) }; // 適用したいポリシーをハードコードで指定する場合 var proxy = injection.InjectByTypeList <ApplyTargetClass>(applyPolicies); // 適用したいポリシーをApplyPolicyアトリビュートで指定する場合 var proxy2 = injection.InjectByAttribute <ApplyTargetAttributeVersionClass>(); proxy.TestMethod1(); proxy2.TestMethod2(); }