如何访问另一个类之外的类数据

本文关键字:数据 另一个 何访问 访问 | 更新日期: 2023-09-27 18:03:50

我在类BaseLVItem中有一个属性Data

namespace Spo.Plugins
{

public class BaseLVItem : System.Windows.Forms.ListViewItem
   {
      public virtual IBaseObject Data
      {
         get{ return m_data; }
      }
      private IBaseObject m_data = null;

我们正确地使用了它,如下所示在ResourcePolicySystemsLVI

类中
public class ResourcePolicySystemsLVI : BaseLVItem
    {

    public new IResourcePolicy Data
    {
        get
        {
            return (IResourcePolicy)base.Data;
        }
    }}

但是当我在下面的类中使用时,我得到错误'System.ComponentModel。StringConverter'不包含'Data'的定义

using Spo.Plugins;
   public class ResourcePolicyConverter : StringConverter
   {
       public new IResourcePolicy Data
       {
           get
           {
               return (IResourcePolicy)base.Data;
           }
       }

我不能在这里实现BaseLVItem类,谁能在这里指导我

Dixon我是这样实现的

   public class ResourcePolicyConverter : StringConverter 
   {
      BaseLVItem lvItem = new BaseLVItem();
      IResourcePolicy data = (IResourcePolicy)lvItem.Data;
--------------------
else if ((value == null) && data.AgentVersion != null )  
            {
                return m_nullPolicy;
            }

如何访问另一个类之外的类数据

这是因为您的类ResourcePolicyConverter继承了StringConverter而不是BaseLVItem。一个错字吗?

在第二个示例中不能使用Data属性的原因是ResourcePolicyConverter不继承BaseLVItem,因此,数据属性在base中不可用。

您可以简单地实例化一个新的BaseLVItem,然后访问Data属性。

BaseLVItem lvItem = new BaseLVItem();
IResourcePolicy data = (IResourcePolicy)lvItem.Data;
相关文章: