{"id":7337,"date":"2025-02-06T14:19:46","date_gmt":"2025-02-06T14:19:46","guid":{"rendered":"http:\/\/localhost:8080\/csharp-test\/docs\/basic\/advanced-operators\/method-group-operator\/"},"modified":"2025-03-26T03:48:05","modified_gmt":"2025-03-26T03:48:05","slug":"method-group-operator","status":"publish","type":"docs","link":"https:\/\/www.completecsharptutorial.com\/docs\/csharp\/advanced-operators\/method-group-operator\/","title":{"rendered":"Method Group Operator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7337\" class=\"elementor elementor-7337\">\n\t\t\t\t<div class=\"elementor-element elementor-element-45a70cc e-flex e-con-boxed e-con e-parent\" data-id=\"45a70cc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c4b6c90 elementor-widget elementor-widget-heading\" data-id=\"c4b6c90\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">C# Method Group Operator \u2013 Simplify Delegates &amp; Lambda Expressions!<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-80e8b60 e-flex e-con-boxed e-con e-parent\" data-id=\"80e8b60\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4cb1c41 elementor-widget elementor-widget-text-editor\" data-id=\"4cb1c41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The <strong>method group operator<\/strong> in C# allows you to refer to a method <strong>without calling it<\/strong>. It is mainly used with <strong>delegates, event handlers, and LINQ<\/strong> to make code cleaner and more readable.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1f370da e-flex e-con-boxed e-con e-parent\" data-id=\"1f370da\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8f149db elementor-widget elementor-widget-docly_alerts_box\" data-id=\"8f149db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_alerts_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"alert media message_alert alert-info fade show\" role=\"alert\">\r\n                <i ><\/i>\r\n                <div class=\"media-body\">\r\n                                            <h5 class=\"title\"> By the end of this lesson, you\u2019ll:<\/h5>\r\n                                        <p class=\"alert\">\u2705 Know <strong>what the Method Group Operator (<code>MethodName<\/code> without parentheses) is<\/strong><br \/>\u2705 See how it <strong>makes delegate assignments simpler<\/strong><br \/>\u2705 Learn <strong>a real-world example<\/strong><br \/>\u2705 Get <strong>a working C# program with output<\/strong><\/p>                                    <\/div>\r\n            <\/div>\r\n        \r\n        \r\n        \r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2167184 e-flex e-con-boxed e-con e-parent\" data-id=\"2167184\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20c432a elementor-widget elementor-widget-text-editor\" data-id=\"20c432a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Let\u2019s dive in! \ud83c\udfaf<\/p><h4><strong>What is the Method Group Operator in C#?<\/strong><\/h4><p>The <strong>Method Group Operator<\/strong> is a <strong>shortcut<\/strong> for assigning a method to a delegate <strong>without using lambda expressions<\/strong>. It is a <strong>shortcut<\/strong> that makes your code <strong>cleaner and easier to read<\/strong>.<\/p><p>A <strong>method group<\/strong> is just a method&#8217;s name <strong>without parentheses (<code>()<\/code>)<\/strong>.<\/p><p>Instead of writing:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-328cc72 elementor-widget elementor-widget-docly_code_syntax_highlighter\" data-id=\"328cc72\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_code_syntax_highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"docly-source-code prism\" data-lng-type=\"csharp\">\r\n\t\t\t<pre>\r\n\t\t\t\t<code class=\"language-csharp\">\r\n\t\t\t\t\tAction greet = () =&gt; SayHello(); \/\/ Using lambda\r\n\t\t\t\t<\/code>\r\n\t\t\t<\/pre>\r\n            <\/div>\r\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8c9dffc elementor-widget elementor-widget-text-editor\" data-id=\"8c9dffc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>You can simply write:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d8e138 elementor-widget elementor-widget-docly_code_syntax_highlighter\" data-id=\"8d8e138\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_code_syntax_highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"docly-source-code prism\" data-lng-type=\"csharp\">\r\n\t\t\t<pre>\r\n\t\t\t\t<code class=\"language-csharp\">\r\n\t\t\t\t\tAction greet = SayHello; \/\/ Method Group Operator\r\n\t\t\t\t<\/code>\r\n\t\t\t<\/pre>\r\n            <\/div>\r\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-83de33e elementor-widget elementor-widget-text-editor\" data-id=\"83de33e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Both lines <strong>assign<\/strong> the <code>SayHello<\/code> method to the <code>greet<\/code> delegate <strong>without calling it<\/strong>.<\/p><h4>Example 1: Assigning a Method to a Delegate<\/h4>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d24b905 elementor-widget elementor-widget-docly_code_syntax_highlighter\" data-id=\"d24b905\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_code_syntax_highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"docly-source-code prism\" data-lng-type=\"csharp\">\r\n\t\t\t<pre>\r\n\t\t\t\t<code class=\"language-csharp\">\r\n\t\t\t\t\tusing System;\r\n\r\nclass Program\r\n{\r\n    static void SayHello() =&gt; Console.WriteLine(&quot;Hello, World!&quot;);\r\n\r\n    static void Main()\r\n    {\r\n        Action greet = SayHello; \/\/ Method group operator\r\n        greet(); \/\/ Calls SayHello\r\n    }\r\n}\r\n\t\t\t\t<\/code>\r\n\t\t\t<\/pre>\r\n            <\/div>\r\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2b16b3 elementor-widget elementor-widget-text-editor\" data-id=\"e2b16b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4><strong>Why use the method group operator?<\/strong><\/h4><ul class=\"ordered-list steps\"><li><strong>Shorter<\/strong>: No need to use <code>()=&gt;<\/code> or <code>delegate { }<\/code>.<\/li><li><strong>More readable<\/strong>: The method name clearly tells what\u2019s being called.<\/li><\/ul><hr \/><h4><strong>Example 2: Passing a Method as an Argument<\/strong><\/h4>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ad5bbf elementor-widget elementor-widget-docly_code_syntax_highlighter\" data-id=\"9ad5bbf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_code_syntax_highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"docly-source-code prism\" data-lng-type=\"csharp\">\r\n\t\t\t<pre>\r\n\t\t\t\t<code class=\"language-csharp\">\r\n\t\t\t\t\tusing System;\r\n\r\nclass Program\r\n{\r\n    static void PrintMessage(string message) =&gt; Console.WriteLine(message);\r\n\r\n    static void Process(Action&lt;string&gt; action)\r\n    {\r\n        action(&quot;Hello from Process!&quot;);\r\n    }\r\n\r\n    static void Main()\r\n    {\r\n        Process(PrintMessage); \/\/ Method group operator\r\n    }\r\n}\r\n\t\t\t\t<\/code>\r\n\t\t\t<\/pre>\r\n            <\/div>\r\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a726eaa elementor-widget elementor-widget-text-editor\" data-id=\"a726eaa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u2705 Instead of writing <code>Process(msg =&gt; PrintMessage(msg));<\/code>, we simply pass <code>PrintMessage<\/code>.<\/p><h4>Example 3: Assigning a Method to a Delegate<\/h4><p>Let\u2019s say we have a <strong>math class<\/strong> that calculates squares. Normally, we\u2019d use a lambda expression. But with the <strong>Method Group Operator<\/strong>, we can simplify it.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ef43cc elementor-widget elementor-widget-docly_code_syntax_highlighter\" data-id=\"2ef43cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_code_syntax_highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"docly-source-code prism\" data-lng-type=\"csharp\">\r\n\t\t\t<pre>\r\n\t\t\t\t<code class=\"language-csharp\">\r\n\t\t\t\t\tusing System;\r\n\r\nclass Program\r\n{\r\n    \/\/ Define a delegate that takes an int and returns an int\r\n    delegate int MathOperation(int num);\r\n\r\n    \/\/ A method that matches the delegate&#039;s signature\r\n    static int Square(int x)\r\n    {\r\n        return x * x;\r\n    }\r\n\r\n    static void Main()\r\n    {\r\n        \/\/ Assign method directly using Method Group Operator\r\n        MathOperation operation = Square; \/\/ Instead of (x) =&gt; Square(x)\r\n\r\n        \/\/ Call the delegate\r\n        Console.WriteLine($&quot;Square of 5: {operation(5)}&quot;);\r\n    }\r\n}\r\n\t\t\t\t<\/code>\r\n\t\t\t<\/pre>\r\n            <\/div>\r\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb78afe elementor-widget elementor-widget-text-editor\" data-id=\"cb78afe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Output:<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1188f04 elementor-widget elementor-widget-docly_code_syntax_highlighter\" data-id=\"1188f04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_code_syntax_highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"docly-source-code prism-dark\" data-lng-type=\"markup\">\r\n\t\t\t<pre>\r\n\t\t\t\t<code class=\"language-markup\">\r\n\t\t\t\t\tSquare of 5: 25  \r\n\t\t\t\t<\/code>\r\n\t\t\t<\/pre>\r\n            <\/div>\r\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1001714 elementor-widget elementor-widget-text-editor\" data-id=\"1001714\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4><strong>What Just Happened? \ud83e\udd14<\/strong><\/h4><ol class=\"ordered-list steps\"><li>Instead of writing <code>(x) =&gt; Square(x)<\/code>, we directly assigned <code>Square<\/code> to the delegate.<\/li><li>The <strong>Method Group Operator automatically converts it<\/strong> into a delegate reference.<\/li><li>It makes our code <strong>shorter and cleaner<\/strong>.<\/li><\/ol><h4>\u00a0<\/h4><h4><strong>Real-World Scenario \u2013 Using Method Group Operator in Events<\/strong><\/h4><p>Let\u2019s say we\u2019re building a <strong>button click event handler<\/strong>. Normally, we\u2019d use an anonymous method or a lambda expression. But with <strong>Method Group Operator<\/strong>, we can directly assign the method!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ebe5c2a elementor-widget elementor-widget-docly_code_syntax_highlighter\" data-id=\"ebe5c2a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_code_syntax_highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"docly-source-code prism\" data-lng-type=\"csharp\">\r\n\t\t\t<pre>\r\n\t\t\t\t<code class=\"language-csharp\">\r\n\t\t\t\t\tusing System;\r\n\r\nclass Button\r\n{\r\n    public Action Click; \/\/ Delegate for event\r\n\r\n    public void Press()\r\n    {\r\n        Click?.Invoke(); \/\/ Call the assigned method\r\n    }\r\n}\r\n\r\nclass Program\r\n{\r\n    static void ShowMessage()\r\n    {\r\n        Console.WriteLine(&quot;Button Clicked!&quot;);\r\n    }\r\n\r\n    static void Main()\r\n    {\r\n        Button btn = new Button();\r\n\r\n        \/\/ Assign method directly using Method Group Operator\r\n        btn.Click = ShowMessage;\r\n\r\n        \/\/ Simulate button press\r\n        btn.Press();\r\n    }\r\n}\r\n\t\t\t\t<\/code>\r\n\t\t\t<\/pre>\r\n            <\/div>\r\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-063a82c elementor-widget elementor-widget-text-editor\" data-id=\"063a82c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Output:<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-931fba6 elementor-widget elementor-widget-docly_code_syntax_highlighter\" data-id=\"931fba6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"docly_code_syntax_highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"docly-source-code prism-dark\" data-lng-type=\"markup\">\r\n\t\t\t<pre>\r\n\t\t\t\t<code class=\"language-markup\">\r\n\t\t\t\t\tButton Clicked!  \r\n\t\t\t\t<\/code>\r\n\t\t\t<\/pre>\r\n            <\/div>\r\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c68a5f elementor-widget elementor-widget-text-editor\" data-id=\"4c68a5f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4><strong>Why is This Useful?<\/strong><\/h4><ol class=\"ordered-list steps\"><li><strong>No need for extra syntax<\/strong> \u2013 <code>btn.Click = ShowMessage;<\/code> is much cleaner than using a lambda.<\/li><li><strong>Easy to read and maintain<\/strong> \u2013 The method name clearly describes what it does.<\/li><li><strong>Works great for events and delegates<\/strong> \u2013 You can assign methods without extra steps.<\/li><\/ol><h4><strong>Method Group Operator vs Lambda Expressions \ud83e\uddd0<\/strong><\/h4>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d05bf07 elementor-widget elementor-widget-text-editor\" data-id=\"d05bf07\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"table-responsive table-wrapper\">\n    <table class=\"table docly-data-table table-bordered table-striped\" style=\"font-size: 14px;\">\n        <thead>\n            <tr>\n                <th>Feature<\/th>\n                <th>Method Group Operator<\/th>\n                <th>Lambda Expression<\/th>\n            <\/tr>\n        <\/thead>\n        <tbody>\n            <tr>\n                <td><strong>Syntax<\/strong><\/td>\n                <td><code>delegateVar = MethodName;<\/code><\/td>\n                <td><code>delegateVar = (x) => MethodName(x);<\/code><\/td>\n            <\/tr>\n            <tr>\n                <td><strong>Code Size<\/strong><\/td>\n                <td>Shorter<\/td>\n                <td>Slightly longer<\/td>\n            <\/tr>\n            <tr>\n                <td><strong>Performance<\/strong><\/td>\n                <td>Faster<\/td>\n                <td>Slightly slower<\/td>\n            <\/tr>\n            <tr>\n                <td><strong>Readability<\/strong><\/td>\n                <td>Clear and simple<\/td>\n                <td>Can be cluttered for multiple parameters<\/td>\n            <\/tr>\n            <tr>\n                <td><strong>Flexibility<\/strong><\/td>\n                <td>Only works if method signature exactly matches the delegate<\/td>\n                <td>Can modify parameters before passing<\/td>\n            <\/tr>\n        <\/tbody>\n    <\/table>\n<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-45de021 elementor-widget elementor-widget-text-editor\" data-id=\"45de021\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>So, if your method <strong>directly matches the delegate signature<\/strong>, <strong>Method Group Operator is the better choice!<\/strong><\/p><h4><strong>Common Mistakes to Avoid \ud83d\udea8<\/strong><\/h4><p class=\"alert\">\u274c <strong>Adding parentheses<\/strong> \u2013 <code>Square();<\/code> will call the method instead of assigning it.<br \/>\u274c <strong>Using it on methods with mismatched signatures<\/strong> \u2013 It only works if the delegate\u2019s signature matches exactly.<br \/>\u274c <strong>Trying to modify parameters<\/strong> \u2013 If you need to tweak parameters before passing, use a lambda instead.<\/p><h3><strong>Wrapping It Up \ud83c\udf89<\/strong><\/h3><p>You\u2019ve just unlocked a <strong>powerful shortcut<\/strong> in C#! The <strong>Method Group Operator<\/strong> makes code <strong>cleaner, shorter, and easier to read<\/strong>.<\/p><ol class=\"ordered-list steps\"><li>\u2705 It allows <strong>direct method assignment to delegates<\/strong>.<\/li><li>\u2705 It\u2019s <strong>great for events, delegates, and simple function calls<\/strong>.<\/li><li>\u2705 It reduces unnecessary <strong>lambda expressions<\/strong> and improves <strong>performance<\/strong>.<\/li><\/ol><p>Try using it in your next project and <strong>see the difference!<\/strong> \ud83d\ude80<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Learn how the C# Method Group Operator works with real-world examples. See how it simplifies delegates and lambda expressions with complete code and output!<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":7306,"menu_order":35,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-7337","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/docs\/7337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/comments?post=7337"}],"version-history":[{"count":10,"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/docs\/7337\/revisions"}],"predecessor-version":[{"id":7498,"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/docs\/7337\/revisions\/7498"}],"up":[{"embeddable":true,"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/docs\/7306"}],"wp:attachment":[{"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/media?parent=7337"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.completecsharptutorial.com\/wp-json\/wp\/v2\/doc_tag?post=7337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}