2015-08-27 4 views
0

У меня есть вопрос относительно объекта класса в C# в Ninjatrader. Во-первых, я пытаюсь создать класс, который будет управлять индикатором MACD и методом, который вернет истинное значение, если будут выполнены определенные условия. Теперь, я объявляю свой класс внутри класса стратегии (в нижней части):Доступ к объекту другого класса в C# Ninjatrader

private class MACD_test: MACD{ 

     public MACD_test(){ 

     } 
     public int down(){ 
      Print(MACD(14, 28, 10).Diff[0]); 
      Print(MACD(14, 28, 10)[0]); 
      return 0; 
     } 

    } 

Это просто simplifid пример, но моя проблема заключается в линии:

Print(MACD(14, 28, 10).Diff[0]) 

где я имею в виду MacD метод Diff. Я получаю сообщение об ошибке: Ссылка на объект не указывает на экземпляр объекта

Wierd Дело в том, что я могу сослаться на значение MacD в следующей строке без ошибки:

Print(MACD(14, 28, 10)[0]); 

Теперь, я подумал, что это какая-то проблема наследования, но после некоторого исследования темы я не нашел никакого рабочего ответа. Я знаю, что MACD также является классом, но, насколько мне известно, ему не нужен cosntructor. Я не очень свободно в C#, так что я был бы признателен за вашу помощь в том, чтобы получить доступ к: MACD (14, 28, 10) .diff

Благодаря

ответ

2

Вы должны инициализировать объект класса с new MACD();

метод Diff не является статическим, и, таким образом, не сможет быть вызван без экземпляра класса MACD

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