У меня есть два файла .cs. Я пытаюсь использовать делегат события в этом проекте. Event.cs:Как использовать делегат события на веб-форме C#?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Project3
{
public delegate int Calculate(int obj1, int obj2);
public class Event
{
public event Calculate CalculateNow;
int a = 0;
int b = 0;
int r = 0;
public int Add()
{
r = a + b;
return r;
}
public int Sub()
{
r = a - b;
return r;
}
public int Mul()
{
r = a * b;
return r;
}
public int Div()
{
r = a/b;
return r;
}
}
}
И Form1.cs:
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Project3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = "";
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
label1.Text = btn.Text;
int num1 = Int32.Parse(textBox1.Text);
int num2 = Int32.Parse(textBox2.Text);
Event t = new Event();
t.CalculateNow +=new Calculate(t_CalculateNow);
int finalr = t.Add();
if (finalr != null)
{
label1.Text = "" + finalr;
}
else
{
label1.Text = "Error!";
}
}
}
}
Я получил сообщение об ошибке говорит «Имя„t_CalculateNow“не существует в текущем контексте», и я не знаю, как чтобы исправить это. Надеюсь, кто-то ответит мне. Спасибо огромное! Если кто-то может объяснить логику делегата события, это мне очень поможет.
Ну, он не существует в этот контекст, его в классе «Событие» (я бы переименовал этот битва), чего вы пытаетесь достичь? – Sayse
Google может объяснить логику делегатов событий. Amazon также является полезным ресурсом, особенно если вам нравится печатный материал. – Amit
@Sayse Событие выполнит расчет и вернет окончательный ответ. Метка1 покажет ответ в веб-форме. – Alison