2012-01-12 10 views
1

プロジェクトのフォルダにファイルを作成し、部分クラスで定義されたプロパティを使用して、実装する必要があるプロパティを決定するコードテンプレートがあります。テンプレートを生成することになっているCSharpCodeProviderで部分クラスをコンパイルする

public partial class Thingy : IThingy 
{ 
    public Foo Bar { get; set; } 
} 

public interface IThingy 
{ 
    Foo Bar { get; set; } 
    Baz Biz { get; set; } 
} 

と::例として

public partial class Thingy 
{ 
    Baz Biz { get; set; } 
} 

を私はテンプレートがインターフェイスの期待を満たすために、残りの情報を生成し、これさえできるようになることを保証することができますCSharpCodeProviderが生成されていない部分クラスにインプリメントされたインタフェースの半分しか得られないという概念では、クラスを生成することはできません。プロバイダーにインターフェイスが実装されていることを無視するように指示する方法はありますか?私はこのもう少し考えを与え、そして実際に、文字列に最初のソースを読んで、インタフェースの参照を削除し、CompileAssemblyFromSourceへのコードの文字列を投げる代わりの形で回避策を考え出しました:EDIT

CompileAssemblyFromFileしかし、それは超クルージングを感じ、バグを招く可能性が高くなります。思考?

+0

その結果、結果の部分クラスをコンパイルできますか? – abatishchev

答えて

0

インターフェイスの実装宣言を削除するには、ソースを変更する必要があります。

関連する問題