c# - 扩展 SqlException 并向其添加属性

标签 c# oop static sqlexception

我正在尝试扩展System.Data.SqlClient.SqlException并向其添加一个属性。这样,在每次 SqlCommand 执行时,如果抛出异常,我可以捕获它,添加已执行的 SQL,然后重新抛出它。

我以前做过扩展,但只是使用方法。有了属性,我无法让它工作。

public static class SqlExceptionExtention{
    public static string query { get; set; }
}

我已经尝试了添加和删除静态标志的所有组合,但没有任何效果。当然属性不能是静态的,它必须是特定于每个对象的。

最佳答案

没有扩展属性,只有扩展方法。

如果您想添加数据,那么您可以使用 Data属性来填充字典:

try
{
  // Do something
}
catch(SqlException e)
{
  e.Data.Add("Foo", "Bar");
  throw;
}

关于c# - 扩展 SqlException 并向其添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36599764/

相关文章:

c# - 转换运算符仅适用于数字类型.net

c# - 如何使用一个 xml 文件中的信息在 C# 中创建另一个文件?

C#:如何检查列表的大小和元素是否相同?

python - 如何使用Python删除二叉搜索树中的节点

c++ - 使用静态成员变量初始化映射

c# - 如何使此 LINQ 查询更快?

c# - 如何继承父常量并访问它们?

c++ - SDL2 面向对象包装器; 1000+ Virtual Function 调用一个框架;有什么办法可以优化这个吗?

c# - 在 MVC 模型中的何处初始化静态属性并实现锁

c# - 来自多个客户端的多个 ASP.NET 请求如何共享信息?