internal ServiceChannelProxy(System.Type interfaceType, System.Type proxiedType, MessageDirection direction, ServiceChannel serviceChannel) : base(proxiedType)
 {
     if (!MessageDirectionHelper.IsDefined(direction))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("direction"));
     }
     this.interfaceType   = interfaceType;
     this.proxiedType     = proxiedType;
     this.serviceChannel  = serviceChannel;
     this.proxyRuntime    = serviceChannel.ClientRuntime.GetRuntime();
     this.methodDataCache = new MethodDataCache();
     this.objectWrapper   = new MbrObject(this, proxiedType);
 }
 internal ServiceChannelProxy(System.Type interfaceType, System.Type proxiedType, MessageDirection direction, ServiceChannel serviceChannel) : base(proxiedType)
 {
     if (!MessageDirectionHelper.IsDefined(direction))
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("direction"));
     }
     this.interfaceType = interfaceType;
     this.proxiedType = proxiedType;
     this.serviceChannel = serviceChannel;
     this.proxyRuntime = serviceChannel.ClientRuntime.GetRuntime();
     this.methodDataCache = new MethodDataCache();
     this.objectWrapper = new MbrObject(this, proxiedType);
 }