public override IChannelListener <TChannel> BuildChannelListener <TChannel>(BindingContext context) { if (context == null) { throw new ArgumentNullException("context"); } if (!this.CanBuildChannelListener <TChannel>(context)) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, "Unsupported channel type: {0}.", typeof(TChannel).Name)); } UdpChannelListener channelListener = new UdpChannelListener(this, context); VirtualPathExtension virtualPathExtension = context.BindingParameters.Find <VirtualPathExtension>(); if (virtualPathExtension != null) { channelListener.SetVirtualPath(virtualPathExtension.VirtualPath); } return((IChannelListener <TChannel>)(object) channelListener); }