2011-01-14 1 views
0

キャスト/タイプなどに問題があります。どのように私は私の新しく作成されたオブジェクトのメソッドを使用することができますので、この質問から続行する Initialize generic object from a System.Typeキャスティングなしのオブジェクトのメソッドの使用

まず、私のクエリは、ここで別のポストからの続くのですか?

すなわち、次のように私は何をしたいです:ところで

Type iFace = typeof(IService1); 
Type genericListType = typeof(System.ServiceModel.ChannelFactory<>).MakeGenericType(iFace); 
object factory = Activator.CreateInstance(genericListType, new object[] 
        { 
         new BasicHttpBinding(), 
         new EndpointAddress("http://localhost:1693/Service.svc") 
        }); 
var channel = factory.CreateChannel(); 

、私はWCFのために、このアプリケーションを使用しておりますが、これは、WCFの問題

答えて

2

dynamic objectを使用してみてくださいませんか?これにより、存在する場合と存在しない場合があるメソッドを呼び出すことができます。動的オブジェクトなし

+0

簡単すぎる男、どうもありがとう。 – Shane

+0

うれしい私は答えを提供することができました! (ウインクウィンク;) –

2

object factory = Activator.CreateInstance(genericListType, new object[] 
{ 
    new BasicHttpBinding(), 
    new EndpointAddress("http://localhost:1693/Service.svc") 
}); 

Type factoryType = factory.GetType(); 
MethodInfo methodInfo = factoryType.GetMethod("CreateChannel"); 
var channel = methodInfo.Invoke(factory) as YourChannelType; 
+0

また、良い、歓声 – Shane

関連する問題