2011-07-29 13 views
0

私が使用したときに、我々は適切にResourcePolicySystemsLVI別のクラスの外のクラスのデータにアクセスする方法

public class ResourcePolicySystemsLVI : BaseLVItem 
    { 


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

クラスに、以下に示すようにそれを使用するが、私はクラスBaseLVItem

namespace Spo.Plugins 
{ 



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

にプロパティデータを持っています次のクラスでエラーが発生しています 'System.ComponentModel.StringConverter'に 'データ'の定義が含まれていません

私はここBaseLVItemクラスを実装することはできませんよ

は、すべてのボディは、私はあなたのクラスResourcePolicyConverterStringConverterではなくBaseLVItemから継承しているためです。この

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

答えて

1

のように実装していますここで

ディクソンが私を導くことができます。タイプミス?あなたの第二の例ではDataプロパティを使用することはできません

1

理由はResourcePolicyConverterBaseLVItemから継承していないので、Dataプロパティがbaseで利用できないということです。

新しいBaseLVItemをインスタンス化してから、Dataプロパティにアクセスするだけです。

BaseLVItem lvItem = new BaseLVItem(); 
IResourcePolicy data = (IResourcePolicy)lvItem.Data; 
+0

これは役に立ちました:-)あなたはどのようなエラーを受けていますか?何が起こっていますか?この方法のために ませ過負荷を取得していない –

+0

3つのエラー「BaseLVItem」フィールド初期化子が非静的フィールド、メソッド、またはプロパティtest.DataModel.TypeConverters.ResourcePolicyConverter.lvItem」 参照アセンブリ 『Spo.Controls』を参照することはできません「0」の引数\t 取り – ricky

+0

あなたのコードを投稿して、あなたがそれをやっている様子を見ることができますか? –

関連する問題