我正在尝试扩展System.Data.SqlClient.SqlException
并为其添加属性。因此,在每次SqlCommand
执行时,如果抛出异常,我可以捕获它,添加已执行的SQL,然后重新抛出它。
我以前做过扩展,但只有方法。有了属性,我无法管理它。
public static class SqlExceptionExtention{
public static string query { get; set; }
}
我已经尝试了添加和删除静态标志的所有组合,但没有任何效果。当然,属性不能是静态的,它必须特定于每个对象。
答案 0 :(得分:4)
没有扩展属性,只有扩展方法。
如果要添加数据,则可以使用Data属性填充字典:
try
{
// Do something
}
catch(SqlException e)
{
e.Data.Add("Foo", "Bar");
throw;
}