Как задействовать project в общем коде?

Gooldbee

Client
Регистрация
16.05.2019
Сообщения
224
Благодарностей
25
Баллы
28
Подскажите, пожалуйста, на примере как сделать так, чтобы метод project вызывался не только в кубике, но и в общем коде.
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
Подскажите, пожалуйста, на примере как сделать так, чтобы метод project вызывался не только в кубике, но и в общем коде.
Нужно пробрасывать project в виде параметра в метод.
Пример:
Пример метода в общем коде:
namespace ZennoLab.OwnCode
{
    public class CommonCode {
    
        public static void Log(IZennoPosterProjectModel project, string s){
            project.SendInfoToLog(s,true);
        }
    }
}
Пример вызова с пробросом project:
Вызов в кубике:
CommonCode.Log(project, "сообщение");
 

bigloafer

Client
Регистрация
23.07.2020
Сообщения
243
Благодарностей
76
Баллы
28
А почему я в методе обычного публичного класса не имею возможности использовать вывод цветных сообщений? - речь идет про такой вывод:
C#:
project.SendToLog(message, ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true, ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Red);
Однако IZennoPosterProjectModel _project пробрасываю в конструктор при создания экземпляра класса в кубике.
C#:
public Adress(IZennoPosterProjectModel _project)
{
    this.project = _project; // Свойство в классе объявлено выше, работают локальные переменные - значит проброшен
}
Код даже не компилируется сказал(а):
Компиляция кода проекта Ошибка при компиляции общего кода "CS1061" "'object' does not contain a definition for 'SendToLog' and no accessible extension method 'SendToLog' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)". [Строка: 112; Cтолбец: 13]
Если смотреть через IntelliSense, то объект project вообще не имеет методов связанных с выводом в лог сообщений, однако в самом кубике метод выброса сообщения в log начинается именно c project:

Screenshot_1.png

Это просто прибито к классу от которого наследуются ребенок через какой-нибудь интерфейс, используя полиморфизм? и поэтому я его не вижу IntelliSense - именно в общем коде?
А например в самом кубике вижу.
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)