Как и следует хранить часто называемый метод в переменной в c #? [Дубликат]

Есть несколько хороших регулярных выражений для замены HTML с помощью BBCode здесь . Обратите внимание на то, что он не пытается полностью разобрать HTML, просто для того, чтобы его дезинфицировать. Вероятно, он может убить теги, которые его простой «парсер» не может понять.

Например:

$store =~ s/http:/http:\/\//gi;
$store =~ s/https:/https:\/\//gi;
$baseurl = $store;

if (!$query->param("ascii")) {
    $html =~ s/\s\s+/\n/gi;
    $html =~ s/(.*?)<\/pre>/\[code]$2\[\/code]/sgmi;
}

$html =~ s/\n//gi;
$html =~ s/\r\r//gi;
$html =~ s/$baseurl//gi;
$html =~ s/(.*?)<\/h[1-7]>/\n\[b]$2\[\/b]\n/sgmi;
$html =~ s/

/\n\n/gi; $html =~ s//\n/gi; $html =~ s/(.*?)<\/textarea>/\[code]$2\[\/code]/sgmi; $html =~ s/(.*?)<\/b>/\[b]$1\[\/b]/gi; $html =~ s/(.*?)<\/i>/\[i]$1\[\/i]/gi; $html =~ s/(.*?)<\/u>/\[u]$1\[\/u]/gi; $html =~ s/(.*?)<\/em>/\[i]$1\[\/i]/gi; $html =~ s/(.*?)<\/strong>/\[b]$1\[\/b]/gi; $html =~ s/(.*?)<\/cite>/\[i]$1\[\/i]/gi; $html =~ s/(.*?)<\/font>/\[color=$1]$2\[\/color]/sgmi; $html =~ s/(.*?)<\/font>/\[color=$1]$2\[\/color]/sgmi; $html =~ s///gi; $html =~ s/(.*?)<\/li>/\[\*]$2/gi; $html =~ s//\[list]/gi; $html =~ s/<\/ul>/\[\/list]/gi; $html =~ s/

/\n/gi; $html =~ s/<\/div>/\n/gi; $html =~ s// /gi; $html =~ s//\n/gi; $html =~ s//\[img]$baseurl\/$2\[\/img]/gi; $html =~ s/(.*?)<\/a>/\[url=$baseurl\/$2]$4\[\/url]/gi; $html =~ s/\[url=$baseurl\/http:\/\/(.*?)](.*?)\[\/url]/\[url=http:\/\/$1]$2\[\/url]/gi; $html =~ s/\[img]$baseurl\/http:\/\/(.*?)\[\/img]/\[img]http:\/\/$1\[\/img]/gi; $html =~ s/(.*?)<\/head>//sgmi; $html =~ s/(.*?)<\/object>//sgmi; $html =~ s/(.*?)<\/script>//sgmi; $html =~ s/(.*?)<\/style>//sgmi; $html =~ s/(.*?)<\/title>//sgmi; $html =~ s/<!--(.*?)-->/\n/sgmi; $html =~ s/\/\//\//gi; $html =~ s/http:\//http:\/\//gi; $html =~ s/https:\//https:\/\//gi; $html =~ s/<(?:[^>'"]*|(['"]).*?\1)*>//gsi; $html =~ s/\r\r//gi; $html =~ s/\[img]\//\[img]/gi; $html =~ s/\[url=\//\[url=/gi; </code></pre></p> </div> <div class="votes-question"> <div class="vote-count" itemprop="upvoteCount">19</div><i class="fa fa-thumbs-o-up"></i> </div> <div class="tags"> <a href="/questions/tagged/unity3d" class="tag" title="unity3d" rel="tag">unity3d</a> <a href="/questions/tagged/optimization" class="tag" title="optimization" rel="tag">optimization</a> </div> <div class="clearfix"></div> <div class="action-time"> задан svick <span title="11 January 2017 в 13:28 ">11 January 2017 в 13:28 </span> </div> <a class="s-link" href="/questions/2335/kak-i-sleduet-xranit-chasto-nazy-vaemy-j-metod-v-peremennoj-v-c-dublikat" title="поделиться">поделиться</a> </div> </div> <div style="height:100px;margin:10px 0px;" class=""> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- siteask before post --> <ins class="adsbygoogle" style="display:block;height:100px" data-ad-client="ca-pub-2355906945027976" data-ad-slot="" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="answers" id="answers"> <h2 class="pull-left"><span itemprop="answerCount">2</span> ответа</h2> <div class="clearfix"></div> <div class="answer-pager"> <div class="pagination"> </div> </div> <div class="answer accepted" id="13897" itemscope="" itemtype="http://schema.org/Answer" itemprop="acceptedAnswer"> <div class="answer-row"> <div class="answer-text"> <div class="description" itemprop="text"> Рид дал вам правильный ответ. Также стоит отметить, что вы можете использовать другие подписчики делегатов помимо Action. </p> <p> Существуют такие общие версии, как <code>Action<T></code> (один аргумент), <code>Action<T1, T2></code> (два аргумента) и т. д. Также, если ваш метод имеет тип возврата, проверьте <code>Func<T, TResult></code>. </p> <ul> <li> Действия docs: <a href="http://msdn.microsoft.com/en-us/library/018hxwa8.aspx" rel="noreferrer"> http://msdn.microsoft.com/en-us/library/018hxwa8.aspx </a> </li> <li> Func docs: <a href="http://msdn.microsoft.com/en-us/library/bb549151.aspx" rel="noreferrer"> http : //msdn.microsoft.com/en-us/library/bb549151.aspx </a> </li> </ul> <p> Или, конечно, вы можете определить свой собственный тип делегата. </p> </div> <div class="votes-answer green"> <div class="vote-count" itemprop="upvoteCount">8</div><i class="fa fa-thumbs-o-up"></i> </div> <div class="clearfix"></div> <div class="action-time"> ответ дан JohnD <span title="15 August 2018 в 22:59 ">15 August 2018 в 22:59 </span> </div> <a class="s-link" href="/questions/2335/kak-i-sleduet-xranit-chasto-nazy-vaemy-j-metod-v-peremennoj-v-c-dublikat#584" title="поделиться">поделиться</a> </div> <div class="post-layout--right"> <div id="comments-13897"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> </ul> </div> </div> </div> </div> <div class="answer" id="13898" itemscope="" itemtype="http://schema.org/Answer"> <div class="answer-row"> <div class="answer-text"> <div class="description" itemprop="text"> <p> Похоже, вы хотите использовать делегат <a href="http://msdn.microsoft.com/en-us/library/ms173171%28v=VS.100%29.aspx" rel="noreferrer"> </a> здесь. </p> <p> В принципе, вы можете добавить в классе «B»: </p> <pre><code>class B { public Action TheMethod { get; set; } } class A { public static void Foo() { Console.WriteLine("Foo"); } public static void Bar() { Console.WriteLine("Bar"); } } </code></pre> <p> Затем вы можете установить: </p> <pre><code>B b = new B(); b.TheMethod = A.Foo; // Assign the delegate b.TheMethod(); // Invoke the delegate... b.TheMethod = A.Bar; b.TheMethod(); // Invoke the delegate... </code></pre> <p> Это выведет «Foo», затем «Bar». </p> </div> <div class="votes-answer green"> <div class="vote-count" itemprop="upvoteCount">50</div><i class="fa fa-thumbs-o-up"></i> </div> <div class="clearfix"></div> <div class="action-time"> ответ дан Reed Copsey <span title="15 August 2018 в 22:59 ">15 August 2018 в 22:59 </span> </div> <a class="s-link" href="/questions/2335/kak-i-sleduet-xranit-chasto-nazy-vaemy-j-metod-v-peremennoj-v-c-dublikat#584" title="поделиться">поделиться</a> </div> <div class="post-layout--right"> <div id="comments-13898"> <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true"> <li id="comment-22102" class="comment js-comment " data-comment-id="22102"> <div class="js-comment-actions comment-actions"> <div class="comment-score"> <span title="номер полезного комментария для вопроса" class="cool">1</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <div style="display: block;" class="comment-body"> <span class="comment-copy">+1 для простого, простого примера </span> – <span class="comment-user">JohnD</span> <span class="comment-date" dir="ltr"><a class="comment-link" href="#comment13898_22102"><span title="9 September 2011 в 21:45 " class="relativetime-clean">9 September 2011 в 21:45 </span></a></span> </div> </div> </li> <li id="comment-22103" class="comment js-comment " data-comment-id="22103"> <div class="js-comment-actions comment-actions"> <div class="comment-score"> <span title="номер полезного комментария для вопроса" class="cool">2</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <div style="display: block;" class="comment-body"> <span class="comment-copy">THX много это работает. я отсутствовал в «Action» ключевое слово :) </span> – <span class="comment-user">nr1</span> <span class="comment-date" dir="ltr"><a class="comment-link" href="#comment13898_22103"><span title="9 September 2011 в 21:46 " class="relativetime-clean">9 September 2011 в 21:46 </span></a></span> </div> </div> </li> <li id="comment-22104" class="comment js-comment " data-comment-id="22104"> <div class="js-comment-actions comment-actions"> <div class="comment-score"> <span title="номер полезного комментария для вопроса" class="cool">3</span> </div> </div> <div class="comment-text js-comment-text-and-form"> <div style="display: block;" class="comment-body"> <span class="comment-copy">@ nr1: на самом деле существует множество опций - <code>Action</code> позволит вам использовать метод, который не возвращает значение и не принимает никаких параметров. Вы можете использовать <code>Func<int,string></code>, если ваши методы все принимают int и возвращают строку, например. </span> – <span class="comment-user">Reed Copsey</span> <span class="comment-date" dir="ltr"><a class="comment-link" href="#comment13898_22104"><span title="9 September 2011 в 21:52 " class="relativetime-clean">9 September 2011 в 21:52 </span></a></span> </div> </div> </li> </ul> </div> </div> </div> </div> <div style="margin-top: 20px;"> Другие вопросы по тегам: <div class="tags" style="display: inline-block; float: none;"> <a href="/questions/tagged/unity3d" class="tag" title="unity3d" rel="tag">unity3d</a> <a href="/questions/tagged/optimization" class="tag" title="optimization" rel="tag">optimization</a> </div> <h3 class="m-t-20">Похожие вопросы:</h3> <div class="related-block"> <ul> <li><div class='votes-answer green'><span class='vote-count'>39</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/84954/kakuju-samuju-nelepuju-pessimizaciju-vy-videli-zakryto" title="Какую самую нелепую пессимизацию вы видели? [закрыто]">Какую самую нелепую пессимизацию вы видели? [закрыто]</a> - 3 May 2012 14:43 </li> <li><div class='votes-answer green'><span class='vote-count'>30</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/2963/nullreferenceexception-ssy-lka-na-ob-ekt-ne-ustanovlena-v-e-kzemplyar-ob-ekta-unity-engine-c-pochemu-u-nego-est-nulevoe-sluzheni" title="NullReferenceException: ссылка на объект не установлена ​​в экземпляр объекта Unity Engine c #. Почему у него есть нулевое служение и как его исправить? [Дубликат] ">NullReferenceException: ссылка на объект не установлена ​​в экземпляр объекта Unity Engine c #. Почему у него есть нулевое служение и как его исправить? [Дубликат] </a> - 3 September 2017 16:06 </li> <li><div class='votes-answer green'><span class='vote-count'>30</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/2975/popy-tka-izmenit-peremennuyu-preobrazovaniya-v-skripte-no-ona-vozvrashhaet-oshibku-duplicate" title="Попытка изменить переменную преобразования в скрипте, но она возвращает ошибку [duplicate] ">Попытка изменить переменную преобразования в скрипте, но она возвращает ошибку [duplicate] </a> - 3 September 2017 16:06 </li> <li><div class='votes-answer green'><span class='vote-count'>30</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/2931/serijny-j-nomer-selektiruemogo-dokumenta-ssy-lka-na-ob-ekt-ne-ustanovlena-na-ob-ekt-dublikat" title="Серийный номер селектируемого документа. Ссылка на объект не установлена ​​на объект [дубликат] ">Серийный номер селектируемого документа. Ссылка на объект не установлена ​​на объект [дубликат] </a> - 3 September 2017 16:06 </li> <li><div class='votes-answer green'><span class='vote-count'>30</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/2959/pozhalujsta-pomogite-mne-s-moej-oshibkoj-nullreferenceexception-ssy-lka-na-ob-ekt-ne-ustanovlena-v-e-kzemplyar-ob-ekta-duplicate" title="Пожалуйста, помогите мне с моей ошибкой; NullReferenceException: ссылка на объект не установлена ​​в экземпляр объекта [duplicate] ">Пожалуйста, помогите мне с моей ошибкой; NullReferenceException: ссылка на объект не установлена ​​в экземпляр объекта [duplicate] </a> - 3 September 2017 16:06 </li> <li><div class='votes-answer green'><span class='vote-count'>30</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/23208/unity-theme-appcompat-ne-rabotaet-nevozmozhno-vy-zvat-dejstvie-kotoroe-rasshiryaet-appcompatactivity-duplicate" title="Unity, theme.AppCompat не работает. Невозможно вызвать действие, которое расширяет AppCompatActivity [duplicate] ">Unity, theme.AppCompat не работает. Невозможно вызвать действие, которое расширяет AppCompatActivity [duplicate] </a> - 26 August 2014 17:22 </li> <li><div class='votes-answer green'><span class='vote-count'>30</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/2968/keynotfoundexception-i-nullreferenceexception-duplicate" title="KeyNotFoundException и NullReferenceException [duplicate] ">KeyNotFoundException и NullReferenceException [duplicate] </a> - 3 September 2017 16:06 </li> </ul> </div> </div> </div> </div> </div> <aside class="sidebar"> <div class="awrap"> <script async src="https://yastatic.net/pcode-native/loaders/loader.js"></script> <script> (yaads = window.yaads || []).push({ id: "553274-2", render: "#id-553274-2" }); </script> <div id="id-553274-2"></div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:inline-block;width:300px;height:600px" data-ad-client="ca-pub-2355906945027976" data-ad-slot="8038370725"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </aside> </div> </div> <footer class="footer"> <div class="wrapper wrapper--sm"> <div class="footer-navs-col"> <div class="footer-nav footer-nav--menu"> <div class="footer-coryright">© 2017 - 2020 Вопросы и ответы по программированию</div> </div> <div class="footer-nav footer-nav--catalog"> </div> </div> <div class="footer-contacts-col"> <div class="soc-widget-col"> </div> </div> <div class="clearfix"></div> </div> </footer> </div> <script type="text/javascript" src="/js/ui/jquery-ui-1.8.16.custom.min.js"></script> <script type="text/javascript" src="/js/ui/external/jquery.cookie.js"></script> <script type="text/javascript" src="/js/versions/menu.ru.u1607887878.js"></script> <script type="text/javascript" src="/js/jquery.fancybox.min.js"></script> <script type="text/javascript" src="/js/slick.min.js"></script> <script type="text/javascript" src="/js/jquery.maskedinput.min.js"></script> <script type="text/javascript" src="/js/versions/scripts.ru.u1607887878.js"></script> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; var z = null;m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(90030325, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/90030325" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-123993370-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-123993370-1'); </script> </div> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "name": "Программирование - вопросы и ответы", "alternateName": "Программирование - вопросы и ответы", "url": "https://legkovopros.ru", "potentialAction": { "@type": "SearchAction", "target": "https://legkovopros.ru/search?search={search_term_string}", "query-input": "required name=search_term_string" } } { "@context": "https://schema.org", "@type": "Organization", "name": "Программирование - вопросы и ответы", "url": "https://legkovopros.ru", "logo": "https://legkovopros.ru/i/logo.png", "email": "info@legkovopros.ru", "telephone": "" } </script> </body> </html>