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

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

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

как перевести подобное с c++ на c# ответы "руками" и т.п. идут мимо
#include <iostream>
 
int f1(int iArg1, int iArg2)
{ return iArg1 + iArg2; }
 
int f2(int iArg1, int iArg2)
{ return iArg1 - iArg2; }
 
class MyClass
{
public:
    int (*p1) (int, int);
    MyClass(bool _Type)
    {
        if(_Type) { p1 = &f1; }
        else { p1 = &f2; }
    }
};
 
int main()
{
    MyClass m1 = MyClass(true);
    MyClass m2 = MyClass(false);
 
    int a = 10, b = 8;
    std::cout << m1.p1(a, b) << std::endl << m2.p1(a, b);
    return 0;
}
собственно интересует тема создание классов с указателями на метод, который будет инициализироваться в ходе программы

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

textual
Листинг программы
class MyClass
{
    public Func<int,int,int> p1;
 
    static int f1(int iArg1, int iArg2) { return iArg1 + iArg2; }
    static int f2(int iArg1, int iArg2) { return iArg1 - iArg2; }
    
    public MyClass(bool type)
    {
        if (type) p1 = f1;
            else p1 = f2;
    }
}

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


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

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

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