如何访问另一个类之外的类Data

时间:2011-07-29 09:59:02

标签: c# visual-studio-2005

我在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;
            }

2 个答案:

答案 0 :(得分:1)

这是因为您的班级ResourcePolicyConverter继承自StringConverter而不是BaseLVItem。一个错字?

答案 1 :(得分:1)

您在第二个示例中无法使用Data属性的原因是ResourcePolicyConverter不从BaseLVItem继承,因此,{{1}中的数据属性不可用}}

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

Data