ResourcePolicyAvailSystemsLVI

ResourcePolicyAvailSystemsLVI

我在列表视图中显示version(WrmVersion)值,但是在这里我给出了一个条件
意思是如果version(WrmVersion)为null我正在显示'None'(ResourcePolicyAvailSystemsLVI.m_nullString =“ None”),但是现在我得到了一个错误


  由于保护级别为F:\ test \ Ship \ Controls \ ResourcePolicySystemsControl.cs 81'Ship.Controls.ResourcePolicySystemsControl.ResourcePolicyAvailSystemsLVI.m_nullString'无法访问81 70 Ship.Controls


protected override void OnUpdate()
         {
            string func = "ResourcePolicySystemsLVI.OnUpdate";
            try
            {
               if(Data != null)
               {
                  Text = base.Data.Name;
                  if(SubItems.Count == 1)
                  {
                      if (Data.WrmVersion == null)
                      {
                          SubItems.Add(ResourcePolicyAvailSystemsLVI.m_nullString);
                      }
                      else
                          **SubItems.Add(((IResourcePolicy)Data).WrmVersion.ToString());**
                     SubItems.Add(((IResourcePolicy)Data).ResourcePolicyEnabled.ToString());
                     SubItems.Add(((IResourcePolicy)Data).ResourcePolicyCurrent.ToString());
                     //SubItems.Add(((IResourcePolicy)Data).WrmVersion.ToString());
                     //SubItems.Add(Registry.GetValue(@"HKEY_LOCAL_MACHINE\Software\Unisys\Single Point Operations Windows Resource Monitor", "CurrentVersion", "0").ToString());
                  }
                  else
                  {
                     SubItems[1].Text = ((IResourcePolicy)Data).ResourcePolicyEnabled.ToString();
                     SubItems[2].Text = ((IResourcePolicy)Data).ResourcePolicyCurrent.ToString();
                  }
               }
               base.OnUpdate();

最佳答案

那么,ResourcePolicyAvailSystemsLVI.m_nullString的保护级别是多少?您的代码在哪里?例如,它将无法访问


它是private并且您所在的班级不相关
它是protected,并且您不在子类中
它是internal,并且您处于没有[InternalsVisibleTo]
它是protected internal,上面两个都适用


老实说,它看起来像一个字段,并且字段通常不是public-因此,如果有人更改了可访问性,也许添加了一个公共静态属性来包装它,也不会让我感到惊讶-或只是更改了名称(虽然会产生不同的错误)。尝试寻找ResourcePolicyAvailSystemsLVI.NullString或类似名称(在intellisense / object-browser中)。



重新发表您的评论;你有:

private static string m_nullString =
    Managers.ControlStrings.GetString("ManagedDeviceWizard.None");


所以只需添加:

public static string NullString {get {return m_nullString;}}


并更改您的呼叫代码以使用ResourcePolicyAvailSystemsLVI.NullString

10-08 03:58