扩展SqlException并向其添加属性

时间:2016-04-13 13:21:13

标签: c# oop static sqlexception

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

我以前做过扩展,但只有方法。有了属性,我无法管理它。

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

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

1 个答案:

答案 0 :(得分:4)

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

如果要添加数据,则可以使用Data属性填充字典:

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