{"id":21936,"date":"2022-11-16T21:45:32","date_gmt":"2022-11-16T16:15:32","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/"},"modified":"2022-11-16T21:45:32","modified_gmt":"2022-11-16T16:15:32","slug":"solved-breaking-a-big-class-into-smaller-methods-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/","title":{"rendered":"[Solved] Breaking a big class into smaller methods [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-74122224\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"74122224\" data-parentid=\"74120298\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>There&#8217;s a few things I can see you&#8217;re misunderstanding based on your attempt to do this. One is the attempt to access variables in locations where they are not <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.geeksforgeeks.org\/scope-of-variables-in-c-sharp\/\">in scope<\/a>. <code>sender<\/code> and <code>msg<\/code> are two examples. Another is that you&#8217;re not returning <code>msg<\/code> from the <code>Send<\/code> method so it can be used in the <code>Receive<\/code> method. I would suggest this <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/cs\/cs_methods.php\">article<\/a> to help you understand the basics of methods in C# <strong>before proceeding<\/strong>.<\/p>\n<p>If you&#8217;re using Visual Studio, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/learn.microsoft.com\/en-us\/visualstudio\/ide\/reference\/extract-method?view=vs-2022\">Visual Studio Automatic Refactor<\/a> will help with this, however I&#8217;d strongly encourage you to understand what the tool has done to your code once you&#8217;ve used it and not proceed until you do understand it, this is a fundamental programming concept.<\/p>\n<p>Select the code you want to extract to a method, right-click, and select &#8220;Quick Actions and Refactorings&#8230;&#8221;, then &#8220;Extract Method&#8221;. The IDE will create the method and all the necessary parameters for you.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">0<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Breaking a big class into smaller methods [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] There&#8217;s a few things I can see you&#8217;re misunderstanding based on your attempt to do this. One is the attempt to access variables in locations where they are not in scope. sender and msg are two examples. Another is that you&#8217;re not returning msg from the Send method so it can be used in &#8230; <a title=\"[Solved] Breaking a big class into smaller methods [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/\" aria-label=\"More on [Solved] Breaking a big class into smaller methods [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[352,324,419,2347,4965],"class_list":["post-21936","post","type-post","status-publish","format-standard","hentry","category-solved","tag-net","tag-c","tag-methods","tag-refactoring","tag-system-net-sockets"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Breaking a big class into smaller methods [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Breaking a big class into smaller methods [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] There&#8217;s a few things I can see you&#8217;re misunderstanding based on your attempt to do this. One is the attempt to access variables in locations where they are not in scope. sender and msg are two examples. Another is that you&#8217;re not returning msg from the Send method so it can be used in ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-16T16:15:32+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Breaking a big class into smaller methods [closed]\",\"datePublished\":\"2022-11-16T16:15:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/\"},\"wordCount\":174,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\".net\",\"c++\",\"methods\",\"refactoring\",\"system.net.sockets\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/\",\"name\":\"[Solved] Breaking a big class into smaller methods [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-16T16:15:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Breaking a big class into smaller methods [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Breaking a big class into smaller methods [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Breaking a big class into smaller methods [closed] - JassWeb","og_description":"[ad_1] There&#8217;s a few things I can see you&#8217;re misunderstanding based on your attempt to do this. One is the attempt to access variables in locations where they are not in scope. sender and msg are two examples. Another is that you&#8217;re not returning msg from the Send method so it can be used in ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/","og_site_name":"JassWeb","article_published_time":"2022-11-16T16:15:32+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Breaking a big class into smaller methods [closed]","datePublished":"2022-11-16T16:15:32+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/"},"wordCount":174,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":[".net","c++","methods","refactoring","system.net.sockets"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/","name":"[Solved] Breaking a big class into smaller methods [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-16T16:15:32+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-breaking-a-big-class-into-smaller-methods-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Breaking a big class into smaller methods [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/21936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=21936"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/21936\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=21936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=21936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=21936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}