不正确的重新共享建议-未使用的变量(实际用于数据绑定) - c#

我有一段代码,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…