此问题已经在这里有了答案:
我在ASP.NET项目中有以下代码行:
public virtual async Task<bool> Delete(int id)
{
var entity = LoadById(id);
using (IDbConnection cn = new SqlConnection(_conn))
{
cn.Open();
/* Do Not Remove <T> Variables, its required even though the compiler notes its not required */
var result = await cn.DeleteAsync<T>(entity);
return result;
}
}
这是类定义:
public abstract class DatabaseRepository<T> where T : class, IDatabaseModel, new()
Visual Studio 2019显示警告,我需要从DeleteAsync方法中删除T变量,因为它不需要并且可以简化。问题是我正在使用的扩展程序(Dapper)需要它。删除T引用后,我的代码将立即抛出运行时异常。
发件人:
var result = await cn.DeleteAsync<T>(entity);
收件人:
var result = await cn.DeleteAsync(entity);
我首先想到的是在此行旁边添加评论,以防止其他开发人员删除它。但是,我不得不考虑必须在代码中进行某种类型的替代,以防止其显示为警告。某些类型的特殊评论或我可以放在行上方的内容,以防止Visual Studio显示消息。到目前为止,我已经在线检查了,找不到任何东西。我正在寻找可以放在代码中的内容,而不是Visual Studio中的设置更改。
而不是添加注释,而首先添加SuppressMessage可以防止警告。