public interface IMyServer { [OperationContract] [DynamicResponseType] [WebGet(UriTemplate = "info")] string ServerInfo(); }
解决方法
就像是:
Assert.IsTrue(Attribute.IsDefined( typeof(IMyServer).GetMethod("ServerInfo"),typeof(DynamicResponseTypeAttribute)));
你也可以做一些涉及泛型和委托或表达式的事情(而不是字符串“ServerInfo”),但我不确定它是值得的.
对于[WebGet]:
WebGetAttribute attrib = (WebGetAttribute)Attribute.GetCustomAttribute( typeof(IMyServer).GetMethod("ServerInfo"),typeof(WebGetAttribute)); Assert.IsNotNull(attrib); Assert.AreEqual("info",attrib.UriTemplate);