функция в c# сниппете

  • Автор темы Автор темы schnaps
  • Дата начала Дата начала

schnaps

Client
Регистрация
07.02.2010
Сообщения
837
Реакции
150
Баллы
43
можно ли создавать функции в с# сниппете?
у меня не получается
Код:
Развернуть Свернуть Копировать
static int OnWriteData(byte[] buf, int size, int nmemb, Object extraData)
{
  SockBuff = SockBuff + System.Text.Encoding.UTF8.GetString(buf);
  return size * nmemb;
}
анализатор синтаксиса подчеркивать там все начинает. подозреваю, что нельзя...
тогда вопрос кто-нибудь LibСurl самог к ЗП прислюнявить?
 
по поводу функции, можно сделать свою dll c функциями-хелперами, и потом ее подключить к проекту.
 
гемморно это... функция то на пару строчек..
 
да чтож все не так то )))))))))))))))
 
  • Оценить
Реакции: Nick
Из dll нельзя получить доступ к текущим переменным(project, instance и т.д.). В принципе, функцию можно хранить как замыкание(типа как переменную), но тогда надо какой-то контекст, который будет храниться между действиями, и в нем будет типа словарь(dictionary) c этими функциями. Дело за малым - сделать такой контекст.
 
Так, а контекст-то уже есть, в новом билде запилили. Так что, если очень хочется, можно делать так:

1. В одном сниппете задаем все наши замыкания для проекта по такому типу:
Код:
Развернуть Свернуть Копировать
project.Context["Logger"] = (Action<string>)((Text) => {
    project.SendInfoToLog("важная информация:" + Text);
});

2. Когда нужно, берем эти замыкания и выполняем:
Код:
Развернуть Свернуть Копировать
var Logger = project.Context["Logger"] as Action<string>;
Logger("КЮ!");
 
  • Оценить
Реакции: nicanil, galex и Nick
я как полуграмотный преспрошу.
первым кодом оформляем функцию, тело функции в нашем случае
project.SendInfoToLog("важная информация:" + Text);
а в этой конструкции
(Action<string>)((Text) => {
Text это аргумент?
ну во втором коде все понятно, это вызов
 
Да, телом функции будет код
Код:
Развернуть Свернуть Копировать
project.SendInfoToLog("важная информация:" + Text);
 
  • Оценить
Реакции: schnaps
класс! спасибо! :bi: придется сегодня обновляться и проверять :)
 

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