1

我想包括几个扩展基本功能的附加属性,例如public bool Success { get; set; }或覆盖ErrorCode以返回一个int。这样的事情可能吗?

4

1 回答 1

1

不,您不能扩展内置类型,但您可以覆盖默认错误处理以使用您自己的错误处理

但由于 int 只是一个更严格的字符串,我个人会保持原样,只使用辅助扩展方法,例如:

public static class ResponseStatusExtensions {
    public int? ErrorNumber(this ResponseStatus status) {
        int errNum;
        return int.TryParse(status.ErrorCode, out errNum) ? errNum : (int?)null;
    }
}

然后你可以像这样使用它:

if (response.ResponseStatus.ErrorNumber() == 100) { ... }
于 2012-11-01T18:56:40.607 回答