扩展异常部分类

时间:2015-12-15 20:35:42

标签: c# web-services soap wsdl blackboard

我使用wsdl.exe生成的示例SOAP代码。对象where FIELD_1 like '####/##/##'声明如下:

lastError

Visual Studio在此行上构建时出错

private Exception lastError;

String msg = lastError.Message;

wsdl.exe生成的'Exception' does not contain a definition for 'Message' and no extension method 'Message' accepting a first argument of type 'Exception' could be found (are you missing a using directive or an assembly reference?)类如下所示:

Exception

1 个答案:

答案 0 :(得分:0)

partial个类不会凭借共享名称自动扩展任何内置或非部分类。如果您希望上述Exception类扩展System.Exception,那么最简单的方法是添加另一个部分类并明确地扩展它:

(在其他一些档案中)

public partial class Exception : System.Exception
{

}

您应该知道有一个名为Exception的类的问题。从技术上讲,你不应该真正捕获泛型Exception,但如果你的命名空间中有这样的东西,你可能无法捕捉到你认为的异常:

public void SomeMethod()
{
    try
    {
        DoSomethingThatExcepts();
    }
    catch (Exception e)
    {
        //You are actually catching the defined Exception, not System.Exception
    }
}

因此,无论您使用System.Exception的任何地方,都可能需要完全限定名称。