How To Create Extension Methods in C#

Extension methods allow us to add functionality to systems we don't control. They also allow us to write code that is easier to read. In this video, we are going to go over what extension methods are, how to write them, and when to use them.
Source Code: leadmagnets.app/?Resource=Ext...
Mailing List: signup.iamtimcorey.com/
Purchase Courses: iamtimcorey.com
0:00 - Intro
3:16 - Creating and using extension method
8:15 - Extension method classes and namespaces
10:59 - Extending methods from third party libraries
19:48 - When to use extension methods
21:30 - Extending methods for interfaces
23:03 - When not to use extension methods
27:01 - Summary and concluding remarks
Thanks Ralfs HBK

Пікірлер: 154

  • @khaledbudajaja6137
    @khaledbudajaja6137 Жыл бұрын

    So many tutorials on the web, but I get the feeling your are the dean of developers.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thank you!

  • @minitycui9862
    @minitycui98623 жыл бұрын

    Great video. Tim, thank you for such a detail, organized, and straightforward demonstration of method extension. You really are making C# easy.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    That is his goal, thanks for watching.

  • @usamatabbassum7350
    @usamatabbassum7350 Жыл бұрын

    That was amazing. Learning things so quickly with these tutorials. Thanks Tim.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.

  • @DodgerDude74
    @DodgerDude742 жыл бұрын

    Thank you! I followed the tutorial and then created the .sln/.csproj on my own. Very nice intro to extension methods. Now, with great power comes great responsibility!

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    You are welcome.

  • @smarthumanism3221
    @smarthumanism32213 жыл бұрын

    Wonderful, very helpful lecture this is! Thanks, Tim. After seeing this class, I am eager to know the counterparts on properties or fields.

  • @mathsdaz
    @mathsdaz3 жыл бұрын

    Thanks for this Tim. One interface I frequently extend in most libraries I write is the IServiceCollection so that setting up dependency injection for the library is easier to consume. I appreciate your expertise on these topics.

  • @jemsworld

    @jemsworld

    3 жыл бұрын

    That's great can you provide sample extension code implementation for IServiceCollection?

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for the tip

  • @Strrroke
    @Strrroke3 жыл бұрын

    Perfect timing! Just when I thought where to implement extension methods in my pet project for portfolio.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    He did not cover it, but he has a mind reading extension also. Just kidding!!!

  • @badboydessert
    @badboydessert3 жыл бұрын

    Hi, Tim! You're a great teacher!

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks!

  • @prabirchoudhury8375

    @prabirchoudhury8375

    3 жыл бұрын

    @@IAmTimCorey Request for future discussion Video - * there was a thing called Params array in .net standard fmwk. If it still exists, A good, elaborate code discussion video on same. Thanks

  • @chrisspellman5952
    @chrisspellman59523 жыл бұрын

    I've used extension methods, but only ones I found. I had a bunch saved/bookmarked. I honestly thought it had to do something with how you named things or something in the standard libraries I just wasn't aware of... it was just "this class". It makes so much sense now!

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for watching.

  • @maheshmasanam7721
    @maheshmasanam77212 жыл бұрын

    It is good video. you explain the start up writing on extension methods in seperate class and meaning the this key word more super. i confused in this understanding but now i am so clear. Thank you tim corey

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    Glad it was helpful!

  • @nancyrohilla3932
    @nancyrohilla39322 жыл бұрын

    Thanks Tim. The way you make me understand is awesome.

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    Glad to hear that!

  • @hazlotumismo1419
    @hazlotumismo14193 жыл бұрын

    I'm very happy because this is the first time I did know how to do all the things that this video has demonstrated. Yeiii!! Thank you Tim, you're the best!!!

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Excellent!

  • @juanminglao3699
    @juanminglao36993 жыл бұрын

    Thank you, I had seen these syntaxes before but I never knew what it did.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Good luck with your implementations of this. Please give us updates!

  • @patyue5012
    @patyue50123 жыл бұрын

    Perfect timing and found your tournament course also using this technique for the textConnector

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Great!

  • @torrvic1156
    @torrvic11564 ай бұрын

    Excellent lesson as usual! I am using my extension methods for manual mappings when I need to convert Model to DTO and vice versa. It works like charm.

  • @IAmTimCorey

    @IAmTimCorey

    4 ай бұрын

    Great!

  • @GBSCronoo
    @GBSCronoo3 жыл бұрын

    Thank you, I have been looking for a good tutorial on extention methods, popped up at a great time.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for trusting Tim for your training.

  • @BracketGuySerious
    @BracketGuySerious Жыл бұрын

    Gotta say it physically hurt when you put your extension class in the System namespace, good thing you mentioned that it should NOT be used like that.

  • @alexsnegir1427
    @alexsnegir14273 жыл бұрын

    Looking forward to seeing some videos about DDD, Microservices, and ElasticSearch.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    I noted your recommendation by adding it to Tim's list of possible future topics, thanks.

  • @DasturlashniOrganamiz
    @DasturlashniOrganamiz3 жыл бұрын

    That's exactly what they are demanding me to know. Thanks for awesome content

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Glad the timing was right for you. Please consider subscribing.

  • @hammadiazaiez9337
    @hammadiazaiez93373 ай бұрын

    I'm still a student, and I promise you, you will receive a portion of my first salary. Thank you so much for these valuable resources. You couldn't imagine the feeling of joy when I search for a topic and find one of your videos among the results.

  • @IAmTimCorey

    @IAmTimCorey

    3 ай бұрын

    I am glad they have been helpful.

  • @whosgotrythm
    @whosgotrythm3 жыл бұрын

    Needed this last week! Thanks though

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Well, better late than never, I guess.

  • @delw1138
    @delw11383 жыл бұрын

    Another great one Tim!

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks!

  • @zhujacky7111
    @zhujacky71113 жыл бұрын

    Thank you, Tim! It's a great course!

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for watching

  • @heenachhabra2977
    @heenachhabra29773 жыл бұрын

    Thank you for this informative video, I am learning .NET concepts wise and this really helped clarify the purpose of extension methods!

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for trusting Tim for you training.

  • @evgpetra1582
    @evgpetra15822 жыл бұрын

    Excellent tutorial! Thank you very much.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    2 жыл бұрын

    Thanks for the endorsement

  • @azgan123
    @azgan1233 жыл бұрын

    Holy shit why had no one taught me this sooner! Awesome

  • @rblew131

    @rblew131

    3 жыл бұрын

    Seriously!

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    I’m glad it was helpful.

  • @bekawak6529
    @bekawak65298 ай бұрын

    awesome tutorial! Thanks

  • @IAmTimCorey

    @IAmTimCorey

    8 ай бұрын

    You're welcome!

  • @maestrowilliam
    @maestrowilliam3 жыл бұрын

    very well as always. Thanks

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for watching

  • @BeanCoffeeBean
    @BeanCoffeeBean3 жыл бұрын

    Great video and great topic....too many people out there don't use that feature

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Please help us spread the word!

  • @davidscarso
    @davidscarso3 жыл бұрын

    Thank you!!! simple to understand :)

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for trusting Tim

  • @krzysztofpaszkiewicz1274
    @krzysztofpaszkiewicz12743 жыл бұрын

    I knew the first part, but that string at 7.30 just blew my mind.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Great!

  • @scotolivera8207
    @scotolivera82073 жыл бұрын

    Every word count, thank you so much

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    You are welcome.

  • @shaunhunterit342
    @shaunhunterit3422 жыл бұрын

    Thanks Tim

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    You are welcome.

  • @andywalter7426
    @andywalter74263 жыл бұрын

    I actually found lots of good use for extending even the string type. For example, I have an extension where a person has a month spelled out and it returns the number from 1 to 12. Another one I have for strings is if a person has a sentence and need to know the month integer found in the string, then I have it as well. Even being able to easily generate a comma delimited list. The truth is even for the simple types like string ,integers, there are many useful extensions that can be created. One good one for int is being able to convert to any enum as long as the number sent matches the number it corresponds to in the enum. There are many other examples of good extensions for all simple types.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for the tips!

  • @RalfsBalodis
    @RalfsBalodis3 жыл бұрын

    0:00 - Intro 3:16 - Creating and using extension method 8:15 - Extension method classes and namespaces 10:59 - Extending methods from third party libraries 19:48 - When to use extension methods 21:30 - Extending methods for interfaces 23:03 - When not to use extension methods 27:01 - Summary and concluding remarks

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks - you ROCK!!

  • @RalfsBalodis

    @RalfsBalodis

    3 жыл бұрын

    @@tomthelestaff-iamtimcorey7597 check the 10 : 59 typo

  • @matthewsizemore114
    @matthewsizemore114 Жыл бұрын

    Two thumbs up!!

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks!

  • @adityarane2758
    @adityarane27582 жыл бұрын

    It is really helpful.

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    Great!

  • @kagelind83
    @kagelind833 жыл бұрын

    Hey Tim, thanks for a great video and channel. Was just also watching your async video. Do u have any plans on making a Thread video as well?

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    I added it to Tim's list for topics to consider. Thanks for recommending it.

  • @petrutarabuta5617
    @petrutarabuta56173 жыл бұрын

    Thanks!

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    You are welcome.

  • @adamheeg6000
    @adamheeg60003 жыл бұрын

    Love these things. Been using them for awhile, they write and read much easier. I like to wrap existing string functionality so I can do: string myString = ""; if (myString.IsNullOrEmpty()) ... and then just have the extension method like so. public static bool IsNullOrEmpty(this string str) { return string.IsNullOrEmpty(str); } Or better yet, when writing logic to append a middle name... public static string AppendIfNotNull(this string str, string textToAppend, string separator = ", ") { if (textToAppend.IsNullOrEmpty()) { return str; } return $"{str}{separator}{textToAppend}"; }

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for sharing

  • @WTHBrou
    @WTHBrou3 жыл бұрын

    Hey Tim. What's your opinion in using PostSharp? For example, in logging. And AOP in general. Just going through a Clean Code C# book and it is implementing it to keep some code with DRY and SRP.

  • @selmanalfaris3544
    @selmanalfaris35443 жыл бұрын

    I am new to C# and I really like your way of teaching.I have request could a make a video on various commands in C#

  • @faithyintii8457

    @faithyintii8457

    3 жыл бұрын

    Check his videos, he has an intro to c#

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Its overkill, but try this - kzread.info/head/PLLWMQd6PeGY2GVsQZ-u3DPXqwwKW8MkiP. There is no 10 min video for it, but you can grow your skills in a logical path.

  • @selmanalfaris3544

    @selmanalfaris3544

    3 жыл бұрын

    Thank u Tim keep up the good work

  • @rianbattle
    @rianbattle3 жыл бұрын

    Your videos have been REALLY helpful. Thanks for everything you do! Question: will you be doing anything on TDD? I'm having trouble wrapping my head around it...mainly where and how to start. I'm about to start developing a new website for my work and am trying to wrap my head around TDD for it

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Nothing up to this point. I have added your recommendation to Tim's list of viewer suggestions for videos.

  • @vatimi

    @vatimi

    3 жыл бұрын

    @@tomthelestaff-iamtimcorey7597 pun intended.. at first glance I thought the name was anti-this-channel

  • @carstenberggreen7509
    @carstenberggreen75092 жыл бұрын

    Tak!

  • @carstenberggreen7509

    @carstenberggreen7509

    2 жыл бұрын

    Extension methods. So simple and yet so powerfull. Again one of the most elegant and simple explainations. Why spend hours on books when 25 minutes with you along-side brings people up to speed. Love these simple examples and explanations. Supporting you!

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    Thank you!

  • @yvinda.landsnes614
    @yvinda.landsnes6143 жыл бұрын

    Hi Tim. Would you consider it a good practice to implement serialization as extensions to model classes? You touched on it briefly in your video, but it occurred to me that implementing serialization as extension methods makes it easier to switch from say XML to JSON without having to touch the model class(es). You just have to write some new extension methods. Or is it a better way of implementing serialization?

  • @Imafriggingoddess

    @Imafriggingoddess

    3 жыл бұрын

    Never thought of that. Interesting..

  • @OnoderaMyGirl
    @OnoderaMyGirl5 ай бұрын

    ty

  • @IAmTimCorey

    @IAmTimCorey

    5 ай бұрын

    You are welcome.

  • @aduenos
    @aduenos3 жыл бұрын

    Excellent video, should have learned this sooner! For a future video, would it be possible to do more in depth mvvmcross videos? Thanks for all the great content, best teacher ever award!

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for the recommendation. I have added it to Tim's list of viewer suggestions for videos.

  • @aduenos

    @aduenos

    3 жыл бұрын

    @@tomthelestaff-iamtimcorey7597 Could not ask for more, Thanks!

  • @navicoo9919
    @navicoo9919 Жыл бұрын

    ily.

  • @mahmoudwizzo7823
    @mahmoudwizzo78233 жыл бұрын

    thank you Tim , can you please how we can Mock Testing our Extention Methods as they are static

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    I added your suggestion to Tim's viewer requests list. In the mean time, have you watched this video on Mock testing from Tim - kzread.info/dash/bejne/dquWu9qJXcjafbw.html

  • @ahmedelgendy5363
    @ahmedelgendy5363 Жыл бұрын

    Thanks a lot. Very Clear Examples.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.

  • @adoms0
    @adoms03 жыл бұрын

    Idea for next video topic: SharedProjects - what is it, when use it, pros/cons. Thank you.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Tim addresses a lot of that in kzread.info/dash/bejne/hYyWtNdviMbffbw.html. Visual Studios sharing function and using it to work on collaborated projects.

  • @5h0st001
    @5h0st0012 жыл бұрын

    what if you want to overwrite a value set by a parent in the extension class?

  • @stevojohn
    @stevojohn3 жыл бұрын

    If you're not careful with extension method use, it can really make unit testing hard.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    That is true.

  • @fzamick
    @fzamick3 жыл бұрын

    Great video! I'm looking for somethings similar but for properties. Any way to do this in c#?

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Extension methods apply to types, so that means properties. For instance, if you have this code: public string FirstName { get; set; } Then this extension method would apply: public void SayHi(this string name) => Console.WriteLine($"Hi { name }");

  • @Gusdc3001
    @Gusdc30013 жыл бұрын

    This could be handy for IEnumerable classes.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Yep.

  • @ViatorRus
    @ViatorRus3 жыл бұрын

    I think that key word is "extension". Somethings not needed in my real program-flow. Is it right? 😉 But your lesson is landed right. .. ;) sorry for my english.

  • @bryanstewart9095
    @bryanstewart90952 жыл бұрын

    Hey Tim, Am I able to extend Form to add a property? I want Form to have a selectedItems property

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    Yep. It is a class so you can treat it like any other class.

  • @holyshit922
    @holyshit9222 жыл бұрын

    Complex numbers class from Numerics does not have any Parse method "Prototypes" of this Parse methods can be public static Complex Parse(string? ) public static bool TryParse(string? out Complex) Can this methods be written as extension methods

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    Sure.

  • @stephan_smit
    @stephan_smit3 жыл бұрын

    Tim have you ever done something on Merge Conflicts in VS?

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Tim has a couple videos on VSCode which can be used to resolve issues like Merge Conflicts. I would post the links but KZread deletes the comment if I do. Video names are "Intro to VSCode for C# Developers - From Installation to Debugging" and "Real-time Collaboration with Live Share in Visual Studio and VSCode"

  • @yoanashih761
    @yoanashih7613 жыл бұрын

    I love extension methods because it makes code clean and readable. But I found that it's difficult to write tests against these extension methods since they are all static methods within a static class.( For instance, they cannot be mocked)

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    This is true. However, you can treat them like private classes and not extract them usually. Just test their effect. You can also override them with an actual instantiated method if you write them against an interface.

  • @yazidarezki3757

    @yazidarezki3757

    8 ай бұрын

    How do you unit test/Mock a class that uses an extension method.

  • @DavidSmith-ef4eh
    @DavidSmith-ef4eh3 жыл бұрын

    If you wanted to add features to a 3rd party library, wouldn't it make more sense to create something like a proxy to it and put the helper methods in the proxy instead? Dart supports extension methods too (seems like they are copying c# features or the other way around). Either way, I didn't stumble on a use case for them yet... I did see other people using them to share methods between classes. Don't know if that's a good use case though.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    That's a lot of extra work and it provides you with something you need to support. I don't see how creating a proxy adds value over an extension method. Extension methods are simpler. By the way, you've used extension methods in your C# code even if you didn't know it. Microsoft makes heavy use of them. Almost all of the items off of IServiceCollection are extension methods (AddScoped, AddTransient, AddSingleton, etc.) Also, when we use Dapper, it is basically a couple of extension methods. It extends the IDbConnection interface to add Query and Execute.

  • @DavidSmith-ef4eh

    @DavidSmith-ef4eh

    3 жыл бұрын

    @@IAmTimCorey Fair point. I'll definitely keep extension methods in mind. Specially since I already see the pattern being used.

  • @TutorialsMethod
    @TutorialsMethod3 жыл бұрын

    Please also make video on identity server4!!

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thank you. I have added this to Tim's list of possible future topics.

  • @ronaldoperes1202
    @ronaldoperes12023 жыл бұрын

    Hi Tim, How about the performance of an extension method? how can we measure it?

  • @RalfsBalodis

    @RalfsBalodis

    3 жыл бұрын

    You time it with a stopwatch.

  • @rodrigo6459
    @rodrigo64593 жыл бұрын

    I extended DateTime to add a method that can calculate what we call here in Chile Working Days (Mon - Fri) since some stuff will take for example 10 Working Days, and i will like to know on which date those 10 working days will be done, also added an overload that will let you consider the current day as a working day. If any one wants it i can upload to my GitHub... any ways.. i will probably will be modifiying it so you can also pass an array of days you want to exclude from the calculations, lets say you know the 4th of July this year on on Tuesday, since it is not considered as a "working day" you can exclude it, but for now, that is just an idea! :)

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Great examples!

  • @ugursinansagroglu3132
    @ugursinansagroglu31323 жыл бұрын

    It was really good. But all methods are void because of the logging operation doesn't need a return type.

  • @MrFoghorn111
    @MrFoghorn1113 жыл бұрын

    Ok Tim, here's a challenge for a video. I always hit a speedbump when I'm working with timed loops, so here's a scenario. You have an API project using a SignalR Hub. Anyone can subscribe to your hub to get data over intervals, but you don't want a million queries to be triggered to your database. You settle on a timed loop that 1. Queries the database. 2. Activates your Hub to send messages to it's subscribers. You can use any type of data here... Stock Tickers, Sports Scores... doesn't matter. Architecturally, which timer would you implement, and how would you allow people to get message at custom intervals. Say their choices are to receive messages every 10, 20 and 30 seconds. Also, the loop shouldn't run unless at least one client is subscribed. That would make an interesting video I think.

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Thanks for the suggestion. I have added it to Tim's list of possible future topics.

  • @EduardoAG
    @EduardoAG3 жыл бұрын

    This is great, now I can create an extension for TextBox that tells me if the text is empty. textbox.isEmpty() looks better than string.IsNullOrEmpty(textbox.Text.Trim())

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Nice! Thanks for sharing it with us!

  • @stevojohn

    @stevojohn

    3 жыл бұрын

    Use string.IsNullOrWhiteSpace

  • @mehdi-vl5nn
    @mehdi-vl5nn Жыл бұрын

    Is mixing relevant in the world of C#? If so, can extension methods be used to achieve it?

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    I'm not sure what you mean by mixing.

  • @mehdi-vl5nn

    @mehdi-vl5nn

    Жыл бұрын

    ​@@IAmTimCorey it was a typo, mixin

  • @miktin7008
    @miktin70082 жыл бұрын

    Thanks Tim, are you able to put the link to the source code in the comments?

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    It is in the description.

  • @mehdiabdallah6780
    @mehdiabdallah67803 жыл бұрын

    It seems like visitor design pattern

  • @laracarb352
    @laracarb3523 жыл бұрын

    The way you speak in this video in particular feels faster than usual or it's just me?

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Not sure. I don't think I was rushing, but maybe I was.

  • @adolfkweismann1471
    @adolfkweismann14713 жыл бұрын

    Yeah .. Oriented choose implements .

  • @paulegan3783
    @paulegan3783 Жыл бұрын

    Thanks!

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.