Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Простейший делегат 
:(
    Опции темы
Arvalon
Дата 20.9.2015, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 20.4.2006
Где: Москва

Репутация: нет
Всего: нет



Изучаю делегаты, решил набить простейший пример из сети. Если написать всё как в примере появляется ошибка:
user posted image
Только если в скобочках написать полный путь к объекту calc всё работает. А в примере такого нет.
Код

IntOperation res1 = new IntOperation(calc.sum);
IntOperation res2 = new IntOperation(calc.subtract);

И ещё в примере методы класса не обозначены как public, у себя я их такими сделал, без public не работало. Да, если сделать весь класс public - тоже не работает.
Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Delegate1
{
    delegate double IntOperation(double lhs, double rhs);

    class calc
    {
        public static double sum(double lhs, double rhs)
        {
            return lhs + rhs;
        }
        public static double multiplex(double lhs, double rhs)
        {
            return lhs * rhs;
        }
        public static double divide(double lhs, double rhs)
        {
            return lhs / rhs;
        }
        public static double subtract(double lhs, double rhs)
        {
            return lhs - rhs;
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            IntOperation res1 = new IntOperation(calc.sum);
            double result1 = res1(3.6, 4.7);
            Console.WriteLine(result1);
            IntOperation res2 = new IntOperation(calc.subtract);
            double result2 = res2(-4.9, 10);
            Console.WriteLine(result2);
        }
    }
}


Это я что-то очевидное не понимаю, или пример в сети набивали сразу в текст, не проверяя его компиляцию?
PM   Вверх
sgrey
Дата 20.9.2015, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: 1
Всего: 4



в примере все функции в одном классе, а у вас два разных.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.