如何访问另一个类之外的类数据
本文关键字:数据 另一个 何访问 访问 | 更新日期: 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;