Указатели на функции - C#

Узнай цену своей работы

Формулировка задачи:

как перевести подобное с c++ на c# ответы "руками" и т.п. идут мимо
Листинг программы
  1. #include <iostream>
  2. int f1(int iArg1, int iArg2)
  3. { return iArg1 + iArg2; }
  4. int f2(int iArg1, int iArg2)
  5. { return iArg1 - iArg2; }
  6. class MyClass
  7. {
  8. public:
  9. int (*p1) (int, int);
  10. MyClass(bool _Type)
  11. {
  12. if(_Type) { p1 = &f1; }
  13. else { p1 = &f2; }
  14. }
  15. };
  16. int main()
  17. {
  18. MyClass m1 = MyClass(true);
  19. MyClass m2 = MyClass(false);
  20. int a = 10, b = 8;
  21. std::cout << m1.p1(a, b) << std::endl << m2.p1(a, b);
  22. return 0;
  23. }
собственно интересует тема создание классов с указателями на метод, который будет инициализироваться в ходе программы

Решение задачи: «Указатели на функции»

textual
Листинг программы
  1. class MyClass
  2. {
  3.     public Func<int,int,int> p1;
  4.  
  5.     static int f1(int iArg1, int iArg2) { return iArg1 + iArg2; }
  6.     static int f2(int iArg1, int iArg2) { return iArg1 - iArg2; }
  7.    
  8.     public MyClass(bool type)
  9.     {
  10.         if (type) p1 = f1;
  11.             else p1 = f2;
  12.     }
  13. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут