我有一段代码,Resharper告诉我有未使用的变量,但是肯定使用了这些变量。变量在Databind()中使用,要绑定的字段指定为字符串。由于使用字符串变量访问字段名称,因此Resharper认为它们没有被使用。
在以下代码示例中,Resharper告诉我将public变量更改为private。之后,它告诉我该变量未使用并且可以删除。这两个建议都是错误的,因为使用了变量并且必须是公共变量。
我不喜欢Resharper对此发出警告,并且它是黄色的。我想检查我的代码绿色。我知道我可以使用带注释的抑制选项来忽略它,但是在过去,我从未使用此选项,并且能够找到其他解决方案来使我的代码保持绿色。在这种情况下,我无法找到其他方法。有谁知道我如何让Resharper识别出正在使用此变量?
using System;
using System.Collections;
using System.Web.UI.WebControls;
public partial class TestCode_General_ResharperTest : System.Web.UI.Page
{
private class TestClass
{
public TestClass(string name, string id)
{
ID = id;
Name = name;
}
public string ID; /*Resharper says this can be made private*/
public string Name; /*Resharper says this can be made private*/
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DropDownList testList = new DropDownList();
ArrayList groups = getTestList();
testList.DataSource = groups;
testList.DataValueField = "ID";
testList.DataTextField = "Name";
testList.DataBind(); /* Databind causes the public variables to be accessed.*/
}
}
private static ArrayList getTestList()
{
ArrayList groupInfo = new ArrayList();
string[] pairs = new[] { "Test:1", "Test 2:2", "Test 3:3" };
foreach (string pair in pairs)
{
string[] values = pair.Split(new[] { ':' });
groupInfo.Add(new TestClass(values[0], values[1]));
}
return groupInfo;
}
}
参考方案
我认为您有3种选择:
使用匿名类,因为您无论如何都不使用强类型。
禁止在警告中添加评论,并添加解释原因的评论。
添加ReSharper的[UsedImplicitly]
属性,并添加解释原因的注释(虽然不确定此内容是否适用于字段)。
选项1的示例:
using System;
using System.Collections;
using System.Web.UI.WebControls;
public partial class TestCode_General_ResharperTest : System.Web.UI.Page
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (Page.IsPostBack)
return;
var testList = new DropDownList();
testList.DataSource = GetTestListData();
testList.DataValueField = "ID";
testList.DataTextField = "Name";
testList.DataBind(); /* Databind causes the public variables to be accessed.*/
}
private static IEnumerable<object> GetTestListData()
{
var groups = new List<object>();
var pairs = new[] { "Test:1", "Test 2:2", "Test 3:3" };
foreach (var pair in pairs)
{
var values = pair.Split(new[] { ':' });
groups.Add(new { ID = values[0], Name = values[1] });
}
return groups;
}
}
当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…
改造正在返回一个空的响应主体 - java我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…
json数组,其中in数组返回错误?坏字符串 - javascript我将json字符串文件解析为python,并且始终返回error。我使用了在线json格式化程序和验证器,它们也返回错误,因此我需要帮助使我的json正确并告诉我错误 [{ "sentence_id": "TR.00001", "sentence": { "text": …
每个文件合并后添加换行 - python我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…
Json到php,json_decode返回NULL - php我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…