Я читал о делегате многоадресной передачи, и мысль о распределении памяти остановила меня. . Может кто-то explaing, как это делается распределение памяти многоадресного делегата (я намеренно не добавил события, чтобы сделать его проще для меня, чтобы понять) В этой программе:Распределение памяти делегата многоадресной передачи
using System;
delegate int MyDelegate(int a,int b);
namespace DelegateAppl
{
class DelegateTest
{
public static int AddNum(int p,int q)
{
int add = p + q;
return add;
}
public static int MultNum(int p, int q)
{
int mul = p * q;
return mul;
}
static void Main(string[] args)
{
MyDelegate myDel = new MyDelegate(AddNum);
myDel += new MyDelegate(MultNum);
int result = myDel(2, 5);
Console.WriteLine("Value of Num: {0}", result);
Console.ReadKey();
}
}
}
Как Mydelegate будет allocated.Will это имеют размер addNum или MultNum или добавление обоих размеров?
MyThoughts -The будет компилятор выделить память (я понятия не имею, сколько) в Mydelegate и будет хранить это в cache.It будет затем выделяет память в соответствии с методом (ADD), а затем удаляет, а затем снова выделяет память по методу Multiply при вызове через делегатов. Я правильно понимаю?
Если у вас достаточно делегатов для их полной памяти, чтобы составить ненулевой процент от вашего приложения, вы делаете что-то очень не так. Вы не должны заботиться о том, сколько памяти требуется для делегата; он будет округлен до нуля. – Servy
Спасибо, сэр, я просто хотел знать, как работать с памятью делегатов многоадресной рассылки. Я не намерен изменять или делать что-либо подозрительное. Просто для того, чтобы узнать, что происходит в случае делегатов многоадресной передачи, поскольку мы можем иметь делегат, который обновляется до двух методов, один, который печатает строку и другие, делает что-то с int. – Vicky
Почему downvote.I много искал перед публикацией, но мог получить любой ответ, так что отправил сообщение. В следующий раз вам будет задан вопрос о правильном образе. Приобрести, если это будет ниже уровня – Vicky