Do not miss our Interview Question video series 30 Important C# Interview Questions : th-cam.com/video/BKynEBPqiIM/w-d-xo.html 25 Important ASP.NET Interview Questions : th-cam.com/video/pXmMdmJUC0g/w-d-xo.html 25 Angular Interview Questions : th-cam.com/video/-jeoyDJDsSM/w-d-xo.html 5 MSBI Interview Questions : th-cam.com/video/5E815aXAwYQ/w-d-xo.html
Thank you for clarifying the "WHY" right away and calling out how stupid delegates seem at first glance. In other tutorials that just start teaching you how to use them I can't concentrate and learn because I'm waiting for the actual reason you'd want to use them in a real situation the entire time.
The biggest question for me when hearing about Delegates in the first day was "Okay, but why? This seems awfully complicated to do something massively roundabout", and thankfully you solved that in the first minute! Many thanks for the wonderful explanation :)
Every tutorial i've watched made me think delegates are very complicated until i've watched this and it became so simple! You are awesome, i love the way you teach!
I watched an 90 minute tutorial on Delegates yesterday, but couldn't really understand why they looked strange and what I might use them for. Less than 9 minutes here and its clear. Thank you!
I appreciate that you talked about the reasons why to use delegates. Most videos I have found on this topic just go directly to code and show how to use the delegate with no attempt to explain why, or what it's doing or how it fits in. It's a difficult concept to get clarity on, and a lot of TH-camrs don't seem to really know how it works or why; they just know how to make it work without really understanding.
You just got an extra subscribers. Succinctly explained. Not assuming and talking about the why. It is missing in most videos. Most people assume that the point will be gotten from just the simple but "stupid" definition. Thank you for going the extra mile to explain the why...very important and much appreciated.
Indian accent? Yes Less than ten minutes? Yes 6 years old? Yes Great explanation? Yes Dunno where this comment going anymore? Yes *This video is a legend.*
I don't think that it is only about callbacks. In C# 7, you can pass a method as a parameter, without using delegate, so according to you these delegates should have been removed from C# 7, but delegates have one more, more important role to play and that is to use it for events.
I'm not new to delegates, but found this presentation very useful when I've been looking for a way to explain delegates to others. After watching your video explaining delegates has become easy and meaningful. Thank you!
Excellent !!! Very concise, clear explanation. This the second of your tutorials I have followed, first was threading. Just some general feedback; maybe in your examples you should use real world "objects" when discussing classes and functions. So instead of just "obj", use something like "ACUnit". This has real world context that makes it easier for people to follow your examples. Each AC has properties and methods that u can call I think it makes teaching easier
In simple words, if you have a thread running and you want to access the other thread method you can use delegate. Cross threading can be performed using delegate. Communicate between two foreign threads. That’s it. Have two threads running and try to access the other thread method, which will end up in cross threading error in runtime. Now use delegate and invoke that method. Wow it’s running.
Callbacks * 3 Though if you don't know callbacks you can look at Javascript it have simple definition that can work in many lang. Basically think of delegates as variables that can represents functions. ( As long as it *match the function) Example Delegate void sample_delegate(); // this delegate matches all functions that are void and have no arguments. void say(sample_delegate callme) { //INVOKE callme } void hello() { Console. Writeline("Hello"); } //Now you can make say say hello say(new sample_delegate(hello)); **the very important thing about delegate or callbacks is they are not the functions they are representative of functions*
Nice explanation showing that a delegate is more than just a simple function pointer. It is a communication device, a callback. Good "delegates from India" illustration!
Finally!!! I always thought delegates were a very stupid concept because i never understood the point of using this, but this is the first video that i find correctly explains them and gives a practical example of them.
Because the definitions that I was given, "a ptr to a function" I have had a really hard time getting it. Thank you brother, you hit the nail on the head. Or maybe into 'my head'... I get it now!!! Thanks.
So basically, what he is trying to say for this 8 mins long video is you can call functions from a different class (Scopes), which can be use to call back. Let's say there are two classes A and B. A calls a method in B class. if the method in B wants to tell A some data, it can't unless with delegate. With delegate: A calls a method in B class which has a delegate. A needs to specific what functions in A that B wants to call. B passes in data or just call the delegate (function in A) Please correct me if I am wrong. Hope this helps anyone.
Most of videos does not explain the real NEED of delegates. Delegates provide ability to pass METHODS as PARAMETERS to other METHODS. So that other methods can execute them. In Javascript functions are objects. So passing a function as parameter to other methods is not a problem. But in C#, you must add the function reference to a delegate object, and then it can be passed to another method, which can execute it as and when needed. Most popular use of delegates is in implementing callback methods or event handlers. C# EVENTS use delegate internally to implement events and event handlers. The PUBLISHER class declares a delegate, and then an event which uses the delegate internally. Then raises the event as and when needed. The SUBSCRIBER class subscribes to the event of publisher. Internally, it just adds the EventHandler method reference to the delegate of SUBSCRIBER. That is the whole story.
hey shiv ji,you told that i is used for callback ,callback and callback.but can you my below example public List FindAll(Predicate match); FindAll method is present in List that takes predicate delegate.but i think that is not used for callback.it is used to provides decouple our logic to filter item.please correct me if am wrong and also tell me what is used of predicate delegate .it is used for callback or something else
Thanks now i learned that a delegate can communicate between two classes or functions and update the data into the functions of classes or between functions as a pointer to the function.
good basic kick start but it would be great if you make more videos on this to explain the real power power of delegates when we talk about loosely coupled systems or Event Broker or Observer kind of pattern and that will help the community. Thank you making this video and wish to see your more.
Nice explanation but in this example we can directly call the method "CallBack(int i)" like "Program.CallBack(i)" within for loop. Why we need to use Delegate stuff..... Please correct if I am wrong. Thanks in advance.
If we call CallBack function directly then it will wait for end of LongRunning loop. Delegate display information to UI what exactly going on to back end.
What if MyClass is consumed in ASP.NET MVC UI. It will display in console and data will never be passed back to the caller. The goal is not to display in console , its communication between two entities.
You nailed it sir... Best concise explanation on delegate i have watched so far.. I wish i could give you a triple like and or subcribe click.. Thanks again.
Feel the same style as Java JDK 1.8 Functional lib with Interfaces, Combining with Lamdas you able to have more generic methods and pass any function like 2+2, 2*2, 2/2 and so on. BTW Delegate word translation is to delegate Job to other or Out sourcing Job :)
It would be nice if you showed your full code at the end! Edit: Although I don't think this is sufficient for my use case anyway. You're talking about callbacks, callbacks and callbacks, but I need to use a delegate because I'm working on different threads.
I didn't like the fact that this video had images placed in a very weird way, In some parts, it was not possible to see the content because it was blocked by the images. Also, It didn't show the whole code at once just because he had it zoomed in. BUT, this is the only video that got to the point firsthand. So 7/10. good job!
It's a feature of comparisons that they fall short _somewhere_ but if I'm right the comparison of delegates as a language construct to real-world delegates lacks an essential property of the idea behind them. Don't get me wrong - I think this explanation is worthwile, but it is important to know its limitations too. As I see it, the _function_ of C# delegates is indeed similar to that of (country) delegates (i.e. to communicate between two parties). However, an important property of C# delegates is that they are generic, whereas delegates in the real world are _specific_ entities (persons).
You create a base class FOO, and another subclass BAR that inherits from base class . Also you have some another class FUU {public int FUUproperty{get;set;}=0;} with some property. BAR cannot inherit from multiple classes so declare protected FUU testFUU=new FUU() in base class. Create methods in base class: GetFUUstuff(){ console.write(testFUU.FUUproperty)} SetFUUstuff(int myval){testFUU.FUUproperty=myval} . Create object for FOO and for BAR in Main(). those objects of type FOO and BAR both can call GetFUUstuff() and will receive whats inside that FUU so GetFUUstuff and SetFUUstuff are the Delegate Methods
AWESOME video ! Im programming since 15 Years but nobody could tell me the real BENEFIT of using complex delegate-syntax instead of simple method calling but this callback thing makes totally sense :) But if getting updates while a method is processing, why they are using so often delegates in simple getter and setter? Why you should have an real time update inside a getter especially when nothing is "returned" while getting the value, except the final return at the end? Are Delegates slower the more "communication" is happening between caller and method? I mean in relation to a "normal" implemented method that simply outputs the counter inside the loop.
I'd say the naming in this example confuses me, if I understand right, the obj in main is not the same as the obj in MyClass, so they should've been named differently for clarification (in my opinion). Also, is there a Callback type? That's what it seems like from MyClass, but to give a function in Main the name of 'callback' as well is confusing. (While in this example all we did was for loop i and increment it, may be handle to just put comments about what other practical code may be used in such a situation)
Good explanation, but I have a question. In the below class, I have tried the same call back function using the normal function call, so I thought the delegate might have some other need to be in c#, Apologies, I am new to C#, can you correct me if I wrong, Note: I can't do the below function call method with static class, is that reason, the Delegates come into place? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Delegates { class Program { static void Main(string[] args) { BaseClass obj = new BaseClass(); string Temp = Console.ReadLine(); } } public class BaseClass { public BaseClass() { MyClass myClass = new MyClass(this); myClass.LongRunning(); } public void CallBack(int i) { Console.WriteLine(i); }
} public class MyClass { private BaseClass _myclass; public MyClass(BaseClass program) { _myclass = program; } public void LongRunning() { for(int i = 0;i
Totally confused 1.U have used the same object name 'obj' for MyClass and CallBack, 2.C# isCaseSENSITIVE so CallBack and Callback are different, 3.Although the signature(return type void and parameter int i) of CallBack(delegate) matches with that of Callback(method), the method was never bound to the delgate directly in the code. So how is the control flow going on ...?? Which method is getting called..?? Clarify Please.. Thanks
Step1 he created delegate Step2 he is used that delegate in other running method .in that method that delegate call back with I Step3 Main he created another method which takes int I similar syntax of delegate and assigned that method to delegate
I'm game developer I think delegate are very useful for something like this. void printThisWithFunc(System.Action PrintStuffFunc, int someParameter){ var thingtoprint = ""; /// do something very long with those parameter. /// PrintStuffFunc(thingtoprint); } /Then let assume we in Unity private void Start(){ printThisWithFunc(print, 200); printThisWithFunc(Debug.Log, 200); printThisWithFunc(System.Console.WriteLine, 200); } If you mix and match with some OOP stuff you can done some tricky stuff very productive and readable.
All I wanted to know is, why we have to use Delegates. But in this presentation when he uses delegate inside the loop to show the "real essence of the delegate", we can call the function directly in every loop with that parameter, (i). So the objective of the watching this video remains unfulfilled.
you are correct. But if there are 3 classes are there, where 3 different methods with different name and different logic, but with same signature exists. So how do each class will call with out changing in the loop. This only can be happening through delegates.
You can call the function directly only because you have the source code.Imagine that it is library function, in this case you have no way to tell which function should be called back to provide the information, by passing a delegate you can virtually call any function which accepts integer as a parameter.
thanks for the video, I really appreciate when some one spend time trying to share knowledge. Despite that, I would advice you to show the full code and smaller text, I got lost in your explanation because for the big text.... got me crazy.
Do not miss our Interview Question video series
30 Important C# Interview Questions : th-cam.com/video/BKynEBPqiIM/w-d-xo.html
25 Important ASP.NET Interview Questions : th-cam.com/video/pXmMdmJUC0g/w-d-xo.html
25 Angular Interview Questions : th-cam.com/video/-jeoyDJDsSM/w-d-xo.html
5 MSBI Interview Questions : th-cam.com/video/5E815aXAwYQ/w-d-xo.html
Thank you for clarifying the "WHY" right away and calling out how stupid delegates seem at first glance.
In other tutorials that just start teaching you how to use them I can't concentrate and learn because I'm waiting for the actual reason you'd want to use them in a real situation the entire time.
Yeah that's really missing sometimes
How can you soooo ME! this is exactly what I was thinking!
The biggest question for me when hearing about Delegates in the first day was "Okay, but why? This seems awfully complicated to do something massively roundabout", and thankfully you solved that in the first minute! Many thanks for the wonderful explanation :)
Every tutorial i've watched made me think delegates are very complicated until i've watched this and it became so simple! You are awesome, i love the way you teach!
Not that great
Came here just to say this. Bravo. Fantastic explanation.
Yes very true, I read many tutorials and watched few videos too but he explained very well in a simple manner
Yes very well explained
True.I feel the same.
I watched an 90 minute tutorial on Delegates yesterday, but couldn't really understand why they looked strange and what I might use them for. Less than 9 minutes here and its clear. Thank you!
I appreciate that you talked about the reasons why to use delegates. Most videos I have found on this topic just go directly to code and show how to use the delegate with no attempt to explain why, or what it's doing or how it fits in. It's a difficult concept to get clarity on, and a lot of TH-camrs don't seem to really know how it works or why; they just know how to make it work without really understanding.
Just adding to what you said, delegates can also be used to invoke function asynchronously on a separate thread using BeginInvoke
You just got an extra subscribers. Succinctly explained. Not assuming and talking about the why. It is missing in most videos. Most people assume that the point will be gotten from just the simple but "stupid" definition. Thank you for going the extra mile to explain the why...very important and much appreciated.
Indian accent? Yes
Less than ten minutes? Yes
6 years old? Yes
Great explanation? Yes
Dunno where this comment going anymore? Yes
*This video is a legend.*
screen should have less zoomed so everything could have been displayed in one page
this is so true..
I don't think that it is only about callbacks. In C# 7, you can pass a method as a parameter, without using delegate, so according to you these delegates should have been removed from C# 7, but delegates have one more, more important role to play and that is to use it for events.
Another Indian bro pulling us all up here. Thanks so much!
Your accent is more crisp then any teacher i know. Very easy to listen to and comprehend. Keep up the good tutorials !
I'm not new to delegates, but found this presentation very useful when I've been looking for a way to explain delegates to others. After watching your video explaining delegates has become easy and meaningful. Thank you!
Excellent !!!
Very concise, clear explanation. This the second of your tutorials I have followed, first was threading.
Just some general feedback; maybe in your examples you should use real world "objects" when discussing classes and functions. So instead of just "obj", use something like "ACUnit". This has real world context that makes it easier for people to follow your examples. Each AC has properties and methods that u can call
I think it makes teaching easier
Thank you!! I’ve been searching for forever for a decent explanation of delegates. You made it clear and simple to understand in this video. 🙏
In simple words, if you have a thread running and you want to access the other thread method you can use delegate. Cross threading can be performed using delegate. Communicate between two foreign threads. That’s it. Have two threads running and try to access the other thread method, which will end up in cross threading error in runtime. Now use delegate and invoke that method. Wow it’s running.
Thank you. This is the first video to explain not HOW to use one....but WHY you could use one. Thanks again.
need some real time examples to understand this in more proper way.
Callbacks * 3
Though if you don't know callbacks you can look at Javascript it have simple definition that can work in many lang.
Basically think of delegates as variables that can represents functions. ( As long as it *match the function)
Example
Delegate void sample_delegate(); // this delegate matches all functions that are void and have no arguments.
void say(sample_delegate callme)
{
//INVOKE callme
}
void hello()
{
Console. Writeline("Hello");
}
//Now you can make say say hello
say(new sample_delegate(hello));
**the very important thing about delegate or callbacks is they are not the functions they are representative of functions*
@@asagiai4965 thanks man this shit was so damn helpful i appreciate it dude
@@sypo_x1891 you're welcome
Nice explanation showing that a delegate is more than just a simple function pointer. It is a communication device, a callback. Good "delegates from India" illustration!
Finally!!! I always thought delegates were a very stupid concept because i never understood the point of using this, but this is the first video that i find correctly explains them and gives a practical example of them.
Nothing is difficult you have the right Teacher. You are the one.
Because the definitions that I was given, "a ptr to a function" I have had a really hard time getting it. Thank you brother, you hit the nail on the head. Or maybe into 'my head'... I get it now!!!
Thanks.
So basically, what he is trying to say for this 8 mins long video is you can call functions from a different class (Scopes), which can be use to call back.
Let's say there are two classes A and B.
A calls a method in B class.
if the method in B wants to tell A some data, it can't unless with delegate.
With delegate:
A calls a method in B class which has a delegate.
A needs to specific what functions in A that B wants to call.
B passes in data or just call the delegate (function in A)
Please correct me if I am wrong. Hope this helps anyone.
Steve Lo thanks.. you explained it very well..
thank you. I was still lost after watching the video, but you sorted things out for me. So delegate has no use under the same class, right?
Some one broken english sorry
You Made Delegates Simplest. This is the Great Understandable Explanation Ever I Have Seen.
What a great explanation! The easiest teaching means the huge number of study in the background!
Best delegate video for understanding the REAL purpose of delegates. Thank you!
Excellent explanation sir.I appreciate it.I have been searching to know why we use delegates in C#,now,I have the answer for it.Thank you sir.
Thank you! This is the first video or any material I'm looking about delegates and I can't believe I'm 100% clear, Keep up the great work! :)
Most of videos does not explain the real NEED of delegates.
Delegates provide ability to pass METHODS as PARAMETERS to other METHODS. So that other methods can execute them. In Javascript functions are objects. So passing a function as parameter to other methods is not a problem.
But in C#, you must add the function reference to a delegate object, and then it can be passed to another method, which can execute it as and when needed. Most popular use of delegates is in implementing callback methods or event handlers. C# EVENTS use delegate internally to implement events and event handlers.
The PUBLISHER class declares a delegate, and then an event which uses the delegate internally. Then raises the event as and when needed.
The SUBSCRIBER class subscribes to the event of publisher. Internally, it just adds the EventHandler method reference to the delegate of SUBSCRIBER. That is the whole story.
I'll be honest? This got my very close to understanding! Good Job!
The BEST explanation of delegates. Thank you.
hey shiv ji,you told that i is used for callback ,callback and callback.but can you my below example
public List FindAll(Predicate match);
FindAll method is present in List that takes predicate delegate.but i think that is not used for callback.it is used to provides decouple our logic to filter item.please correct me if am wrong and also tell me what is used of predicate delegate .it is used for callback or something else
Thanks now i learned that a delegate can communicate between two classes or functions and update the data into the functions of classes or between functions as a pointer to the function.
good basic kick start but it would be great if you make more videos on this to explain the real power power of delegates when we talk about loosely coupled systems or Event Broker or Observer kind of pattern and that will help the community.
Thank you making this video and wish to see your more.
I liked the way he explained it, literal explanation of the delegate and finally the callback function example. It made a little more sense now.
It took me a while to understand delegates, but now it seems to be clicking. Thanks :D
This is the best explanation of delegates I've seen
Very clear explanation. I've finally got it!
This was a crisp and clear presentation of the essence of the delegate keyword.
I am a Nepali delegate to India :)
This is the best explanation I have seen. Thank you. 👍👍
The best explanation ever. Simple and clear
Nice explanation but in this example we can directly call the method "CallBack(int i)"
like "Program.CallBack(i)" within for loop. Why we need to use Delegate stuff..... Please correct if I am wrong. Thanks in advance.
If we call CallBack function directly then it will wait for end of LongRunning loop. Delegate display information to UI what exactly going on to back end.
What if MyClass is consumed in ASP.NET MVC UI. It will display in console and data will never be passed back to the caller. The goal is not to display in console , its communication between two entities.
why wait loop end ??????please answer me "!!!@@sharadpatil6916
This was the first explanation I had heard that made sense to me. Thank you!
This is a great tutorial thank you!
And now I will look for the purpose of delegates in He-Sharp :-)
Now i got the actually use of delegate, They are so powerful.
This is the best and most human like explanation I could find. I got the concept now, thank you so much!
Perfectly explained. it was confusing Thanks.
Very clear and concise way of explaining it. Thank you very much
Absolute plain and simple! The first video, when I got ann explaination why should I use a delegate.
You nailed it sir... Best concise explanation on delegate i have watched so far.. I wish i could give you a triple like and or subcribe click.. Thanks again.
Finally a clear explanation.
The best explanation of delegates ever. Thanks
Brilliant! I finally see what a delegate is used for. Thanks!
Feel the same style as Java JDK 1.8 Functional lib with Interfaces, Combining with Lamdas you able to have more generic methods and pass any function like 2+2, 2*2, 2/2 and so on. BTW Delegate word translation is to delegate Job to other or Out sourcing Job :)
It would be nice if you showed your full code at the end! Edit: Although I don't think this is sufficient for my use case anyway. You're talking about callbacks, callbacks and callbacks, but I need to use a delegate because I'm working on different threads.
Teach me more please!!! I love your style of teaching! :)
I didn't like the fact that this video had images placed in a very weird way, In some parts, it was not possible to see the content because it was blocked by the images.
Also, It didn't show the whole code at once just because he had it zoomed in.
BUT, this is the only video that got to the point firsthand. So 7/10. good job!
Excellent explanation . Now i understand why we need delegates.
Nice. You also can call delegate via event so that event can be subscribed and its output can be utilized on client side.
It's a feature of comparisons that they fall short _somewhere_ but if I'm right the comparison of delegates as a language construct to real-world delegates lacks an essential property of the idea behind them.
Don't get me wrong - I think this explanation is worthwile, but it is important to know its limitations too. As I see it, the _function_ of C# delegates is indeed similar to that of (country) delegates (i.e. to communicate between two parties). However, an important property of C# delegates is that they are generic, whereas delegates in the real world are _specific_ entities (persons).
Excellent explanation of Delegates. Thanks!
clearly explained basically using delegate we can also pass method as a parameter. thanks a lot.
You are easily the best teacher 😊
iam little confused pls correct me we can directly call a method right like--
public void Longrunningmethod()
{
for(int i=0;i
You create a base class FOO, and another subclass BAR that inherits from base class . Also you have some another class FUU {public int FUUproperty{get;set;}=0;} with some property. BAR cannot inherit from multiple classes so declare protected FUU testFUU=new FUU() in base class. Create methods in base class: GetFUUstuff(){ console.write(testFUU.FUUproperty)} SetFUUstuff(int myval){testFUU.FUUproperty=myval} . Create object for FOO and for BAR in Main(). those objects of type FOO and BAR both can call GetFUUstuff() and will receive whats inside that FUU so GetFUUstuff and SetFUUstuff are the Delegate Methods
Really good video. Just one request, could you please zoom out at the end and show all the code?
Thanks for very clear explanation of delegate. The way you explained the origins of delegate in English dictionary was very helpful.
at last I understood what is delegate ..Thank you.. demonstrations should be like this. I've subscribed your Chanel
Nice explanation and very quick. Just what I needed. Thank you.
probably the best explanation of delegates I've found
AWESOME video ! Im programming since 15 Years but nobody could tell me the real BENEFIT of using complex delegate-syntax instead of simple method calling but this callback thing makes totally sense :) But if getting updates while a method is processing, why they are using so often delegates in simple getter and setter? Why you should have an real time update inside a getter especially when nothing is "returned" while getting the value, except the final return at the end? Are Delegates slower the more "communication" is happening between caller and method? I mean in relation to a "normal" implemented method that simply outputs the counter inside the loop.
I'd say the naming in this example confuses me, if I understand right, the obj in main is not the same as the obj in MyClass, so they should've been named differently for clarification (in my opinion).
Also, is there a Callback type? That's what it seems like from MyClass, but to give a function in Main the name of 'callback' as well is confusing. (While in this example all we did was for loop i and increment it, may be handle to just put comments about what other practical code may be used in such a situation)
Agreed - the naming here is confusing. Also it is not clear to me where the delegate is instantiated...
Good explanation, but I have a question. In the below class, I have tried the same call back function using the normal function call, so I thought the delegate might have some other need to be in c#, Apologies, I am new to C#, can you correct me if I wrong, Note: I can't do the below function call method with static class, is that reason, the Delegates come into place?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Delegates
{
class Program
{
static void Main(string[] args)
{
BaseClass obj = new BaseClass();
string Temp = Console.ReadLine();
}
}
public class BaseClass
{
public BaseClass()
{
MyClass myClass = new MyClass(this);
myClass.LongRunning();
}
public void CallBack(int i)
{
Console.WriteLine(i);
}
}
public class MyClass
{
private BaseClass _myclass;
public MyClass(BaseClass program)
{
_myclass = program;
}
public void LongRunning()
{
for(int i = 0;i
Great vid, better explained than my lecturer
what IDE are you using?
Really good Tutorial, thank you from the UK!
It's so funny that you pronounce C-Sharp as shisha :D
yeah :D i think so
Anybody else felt like smoking a bong? 🤣
Excellent explanation. Thanks a lot. I have subscribed.
Totally confused
1.U have used the same object name 'obj' for MyClass and CallBack,
2.C# isCaseSENSITIVE so CallBack and Callback are different,
3.Although the signature(return type void and parameter int i) of CallBack(delegate) matches with that of Callback(method), the method was never bound to the delgate directly in the code.
So how is the control flow going on ...?? Which method is getting called..??
Clarify Please..
Thanks
I had the same issues... have you figured this out?
There is no confusion you have to learn what is call back functionality
Step1 he created delegate
Step2 he is used that delegate in other running method .in that method that delegate call back with I
Step3 Main he created another method which takes int I similar syntax of delegate and assigned that method to delegate
Awesome explanation and video. Totally get it! Thankyou
Great... Explanation Sir.Thank you so very much.
Simply excellent teaching of how delegates work. Thank you very much.
Fantastic explanation. You are a SME
Thanq very much loved the expilination and the way of using the Delegate ... Kudaoos ...
Read a few of the books but i found this one very well explained.
Nicely explained... Great job
Really good explanation. I came here to hear this.
Can't we Write console writeline I in long-running method? And it will do same
Thanks very much for your simple explanation about delegates
I'm game developer I think delegate are very useful for something like this.
void printThisWithFunc(System.Action PrintStuffFunc, int someParameter){
var thingtoprint = "";
/// do something very long with those parameter.
///
PrintStuffFunc(thingtoprint);
}
/Then let assume we in Unity
private void Start(){
printThisWithFunc(print, 200);
printThisWithFunc(Debug.Log, 200);
printThisWithFunc(System.Console.WriteLine, 200);
}
If you mix and match with some OOP stuff you can done some tricky stuff very productive and readable.
All I wanted to know is, why we have to use Delegates. But in this presentation when he uses delegate inside the loop to show the "real essence of the delegate", we can call the function directly in every loop with that parameter, (i). So the objective of the watching this video remains unfulfilled.
you are correct. But if there are 3 classes are there, where 3 different methods with different name and different logic, but with same signature exists. So how do each class will call with out changing in the loop. This only can be happening through delegates.
You can call the function directly only because you have the source code.Imagine that it is library function, in this case you have no way to tell which function should be called back to provide the information, by passing a delegate you can virtually call any function which accepts integer as a parameter.
Ajinkya Lele What?
thanks for the video, I really appreciate when some one spend time trying to share knowledge. Despite that, I would advice you to show the full code and smaller text, I got lost in your explanation because for the big text.... got me crazy.
Best explanation so far.
How did i miss this? Awesome Video thank you so much.
ok you got the point. but delegate is a class pointer to a function that can you use to implement callback.
really thanks a lot sir , I thought delegates re really tough to understand but now its easy with this video
Very simple and effective explanation
Nice tutorial.Good job!