10 ответов:
In Программирование обратный вызов исполняемый код это передается как аргумент на другой код.
в C#представители для этой цели. Они широко используются с событий, поскольку событие может автоматически вызывать ряд присоединенных делегатов (обработчиков событий).
Я только что встретил тебя,
И это безумие,
Но вот мой номер (делегат),
Так что если что-то случится (событие),
Позвони мне, может быть (обратный звонок)?
обратный вызов-это функция, которая будет вызвана, когда процесс выполнения конкретной задачи.
использование обратного вызова, как правило, в асинхронной логике.
чтобы создать обратный вызов в C#, необходимо сохранить адрес функции внутри переменной. Это достигается с помощью
delegateили новая лямбда семантикаFuncилиAction.public delegate void WorkCompletedCallBack(string result); public void DoWork(WorkCompletedCallBack callback) { callback("Hello world"); } public void Test() { WorkCompletedCallBack callback = TestCallBack; // Notice that I am referencing a method without its parameter DoWork(callback); } public void TestCallBack(string result) { Console.WriteLine(result); }в сегодняшнем C#, это может быть сделано с помощью лямбда, как:
public void DoWork(Action<string> callback) { callback("Hello world"); } public void Test() { DoWork((result) => Console.WriteLine(result)); }
определение
A обратный звонок исполняемый код, который передается в качестве аргумента в другой код.
реализация
// Parent can Read public class Parent { public string Read(){ /*reads here*/ }; } // Child need Info public class Child { private string information; // declare a Delegate delegate string GetInfo(); // use an instance of the declared Delegate public GetInfo GetMeInformation; public void ObtainInfo() { // Child will use the Parent capabilities via the Delegate information = GetMeInformation(); } }использование
Parent Peter = new Parent(); Child Johny = new Child(); // Tell Johny from where to obtain info Johny.GetMeInformation = Peter.Read; Johny.ObtainInfo(); // here Johny 'asks' Peter to readссылки
- более подробная информация для C#.
обратный вызов это указатель на функцию, который вы передаете в другой функции. Функция, которую вы вызываете, будет "обратный вызов" (выполнить) другую функцию, когда она будет завершена.
проверить этой ссылка.
Если вы ссылаетесь на ASP.Net обратные вызовы:
в модели по умолчанию для ASP.NET паутина страницы, пользователь взаимодействует со страницей и нажимает кнопку или выполняет другое действие, которое приводит к обратная передача. Страница и ее элементы управления создаются заново, код страницы выполняется дальше сервер и новая версия страница отображается в браузере. Однако, в некоторых ситуациях полезно для запуска серверного кода из клиента без выполнения обратная передача. Если клиентский скрипт на странице сохранении некоторых государственных информационных (например, значения локальных переменных), размещение страницы и получение новой его копия разрушает это состояние. Кроме того, страница обратной связи ввести обработка накладных расходов, которые могут уменьшиться производительность и заставить пользователя ждать для страницы, которая будет обработана и создан заново.
чтобы не потерять клиента и не нести нагрузку от сервер туда и обратно, вы можете закодировать ASP.NET веб-страница, так что он может выполнение обратных вызовов клиента. В клиенте обратный вызов, функция клиент-скрипт отправляет запрос в Ан ASP.NET паутина страница. На веб-странице выполняется измененная версию своего нормального жизненного цикла. Этот страница инициируется и ее элементы управления и создаются другие члены, а затем a вызывается специально помеченный метод. Этот метод выполняет обработку что вы закодировали, а затем возвращает a значение для браузера, которое можно прочитать другой функцией клиентского скрипта. На протяжении всего этого процесса, страница жить в браузере.
Источник:http://msdn.microsoft.com/en-us/library/ms178208.aspx
Если вы имеете в виду вызовы в код:
обратные вызовы часто делегируются методам, которые вызываются после завершения конкретной операции или выполнения под-действия. Вы часто найдете их в асинхронных операциях. Это принцип программирования, который вы можете найти практически в каждом язык кодирования.
дополнительная информация здесь:http://msdn.microsoft.com/en-us/library/ms173172.aspx
вероятно, не определение словаря, но обратный вызов обычно относится к функции, которая является внешней по отношению к определенному объекту, сохраняется и затем вызывается на определенное событие.
пример может быть, когда кнопка пользовательского интерфейса создается, он хранит ссылку на функцию, которая выполняет действие. Действие обрабатывается в другой части кода, но при нажатии кнопки вызывается обратный вызов и это вызывает действие.
в C#, а чем использовать термин "обратный вызов" использует "события" и "делегаты", и вы можете узнать больше о делегатах здесь.
Dedication to LightStriker: Sample Code: class CallBackExample { public delegate void MyNumber(); public static void CallMeBack() { Console.WriteLine("He/She is calling you. Pick your phone!:)"); Console.Read(); } public static void MetYourCrush(MyNumber number) { int j; Console.WriteLine("is she/he interested 0/1?:"); var i = Console.ReadLine(); if (int.TryParse(i, out j)) { var interested = (j == 0) ? false : true; if (interested)//event { //call his/her number number(); } else { Console.WriteLine("Nothing happened! :("); Console.Read(); } } } static void Main(string[] args) { MyNumber number = Program.CallMeBack; Console.WriteLine("You have just met your crush and given your number"); MetYourCrush(number); Console.Read(); Console.Read(); } } Code Explanation: I created the code to implement the funny explanation provided by LightStriker in the above one of the replies. We are passing delegate (number) to a method (MetYourCrush). If the Interested (event) occurs in the method (MetYourCrush) then it will call the delegate (number) which was holding the reference of CallMeBack method. So, the CallMeBack method will be called. Basically, we are passing delegate to call the callback method. Please let me know if you have any questions.
обратный вызов позволяет передавать исполняемый код в качестве аргумента в другой код. В C и C++ это реализуется как указатель на функцию. В .NET вы бы использовали делегат для управления указателями функций.
несколько применений включают сигнализацию ошибок и контроль того, действует ли функция или нет.
обратный шаги работы:
1) мы должны реализовать
ICallbackEventHandlerинтерфейс2) зарегистрировать клиентский скрипт :
String cbReference = Page.ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context"); String callbackScript = "function UseCallBack(arg, context)" + "{ " + cbReference + ";}"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "UseCallBack", callbackScript, true);1) из пользовательского интерфейса вызова Onclient нажмите кнопку вызова функции javascript для EX: -
builpopup(p1,p2,p3...)var finalfield= p1, p2,p3;
UseCallBack(finalfield, "");данные от клиента передаются на сторону сервера с помощью UseCallBack2)
public void RaiseCallbackEvent(string eventArgument)в eventArgument мы получаем переданные данные //выполните некоторые операции на стороне сервера и передано в "callbackResult"3)
GetCallbackResult()// используя этот метод данные будут переданы клиенту (ReceiveServerData () функция) сторонаcallbackResult
4) получить данные на стороне клиента:
ReceiveServerData(text), в ответе текстового сервера, мы получим.
Comments