2013-12-23 3 views
1

У меня есть класс с несколькими параметризованными конструкторами.Создание объекта класса с параметризованными конструкторами C#

class MyClass{ 
    public MyClass(Context context) : this(context, VERTICAL) 
    { 
    } 
    public MyClass(Context context, int Orientation) : base(context) 
    { 
     init(context, Orientation); 
    } 

    public MyClass(Context context, Android.Util.IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle) 
    { 
       //more code 
    } 

    // I have to make an object of this MyClass into MyDataSetObserver class. 

    public class MyDataSetObserver : DataSetObserver 
    { 
     MyClass mc; 

     public MyDataSetObserver(MyClass _mc) 
     { 
      mc= _mc; 
     } 

     public override void OnChanged() 
     { 
       mc.onDataChanged(); 
     } 

      public override void OnInvalidated() 
     { 
       mc.onDataChanged(); 
     } 
    } 

//DatasetObserver usage 

    public void setAdapter(Android.Widget.IAdapter myadapter, int initialPosition) 
    { 
     if (this.adapter != null) 
     { 
      this.adapter.UnregisterDataSetObserver (adapterDataObserver); 
     } 

     //Assert.assertNotNull ("adapter should not be null", adapter); 

     this.adapter = myadapter; 
     adapterDataCount = adapter.Count; 
     adapterDataObserver = new MyDataSetObserver (this); 
     this.adapter.RegisterDataSetObserver (adapterDataObserver); 
     if (adapterDataCount > 0) { 
      SetSelection (initialPosition); 
     } 
    } 
} 

, но это дает мне значение тс как нуль ..

Кроме того, мне нужно сделать конструктор цепочки, Является ли это правильный подход?

+0

Показать код Использования 'MyDataSetObserver' –

+0

@Gokul см обновления – user3034944

+0

Где вы видите тс нулевой? В конструкторе MyDataSetObserver? – StevieB

ответ

1
adapterDataObserver = new MyDataSetObserver (this); 

Что такое this? ваш класс - это экземпляр MyClass? то он должен иметь объект Context.

, или просто создать экземпляр из MyClass в ответе @Yohannes и затем Построить MyDataSetObserver объект проходящего this

+0

см. Мой обновленный вопрос – user3034944

Смежные вопросы