Свързани въпроси 'extension-methods'

Методи за разширение и проверка по време на компилация
Може би малко сложно, но се чудя защо. В System.Linq.Enumerable.cs от System.Core.dll имаме: public static int Count<TSource>(this IEnumerable<TSource> source); В моя код правя нещо зло: namespace Test { public static...
1003 изгледи
schedule 16.09.2022

Необходимо ли е да експортирате разширения на базов метод в R пакет? Последици от документацията?
По принцип бих могъл да запазя тези разширения неекспортирани и това също ще ми позволи да не добавям излишна документация за тези вече добре документирани методи, като същевременно също така предавам R CMD check myPackage без докладвани WARNING s....
481 изгледи

Възможно ли е да се преработи този метод на разширение?
Имам следния метод за разширение: public static void ThrowIfArgumentIsNull<T>(this T value, string argument) where T : class { if (value == null) { throw new ArgumentNullException(argument); } } и това е пример...
2593 изгледи
schedule 24.11.2022

Проблеми с метода на разширение ForEach над IEnumerable‹Request.Files›
Докато правех основно валидиране на колекцията ASP.Net (4.0) Request.Files (качване), реших да опитам с LINQ. Колекцията е IEnumerable<T> и затова не предлага ForEach. Глупаво реших да създам метод за разширение, който да свърши...
2115 изгледи

Общ метод за разширение с ограничение на интерфейса
Направих общ метод за разширение (т.е. AsXml), но все още искам ограничение с интерфейс (IXmlable) за някои от моите класове. Веднага след като въведох моето ограничение, някои от моите методи ми се карат. Един от моите методи е връщане на...
47 изгледи
schedule 23.11.2023

Има ли някакъв начин в C# да замените метод на клас с метод на разширение?
Имало е случаи, в които бих искал да заменя метод в клас с метод за разширение. Има ли някакъв начин да направите това в C#? Например: public static class StringExtension { public static int GetHashCode(this string inStr) {...
33605 изгледи
schedule 04.01.2024

Шаблон на Scout Eclipse TablePage
Искам да създам AbstractTemplatePageWithTable като шаблон. Проблемът ми е, че когато създавате шаблон: MyPageTemplateTablePage | ---> MyTable Extends AbstractTable или в код public abstract class...
74 изгледи

Объркан съм защо този C# код се компилира, докато подобен код не го прави
Нека вземем следния метод за разширение: static class Extensions { public static bool In<T>(this T t, params T[] values) { return false; } } Любопитен съм защо този код се компилира и изпълнява: var x = new...
1193 изгледи
schedule 26.02.2024

се опитва да създаде метод за разширение за преобразуване от низ в десетичен
Опитвам се да измисля глобален начин за конвертиране на низ в X брой десетични знаци и нямам късмет. Имам нужда от това, за да върна десетичен знак с X брой десетични знаци. Ето какво имам досега, но не мога да разбера как да го накарам да знае на...
680 изгледи
schedule 29.03.2024

Създаване на метод за разширение за обвиване на типове като IEnumerables
Исках да създам метод за разширение, който ефективно да обвива единични обекти като IEnumerables. Това беше, за да се избегнат случаите, в които в крайна сметка поставяте new [] {} в средата на израз. Това е достатъчно лесно да се направи, като се...
184 изгледи

Превключване на добри практики за алтернативно/разширяемо програмиране?
Първо, малко предистория на моя въпрос; Пиша модулна програма тип сървър/клиент на C#. Имам система за обработка с нишки, за да обработвам моите пакети от клиентска опашка, пример за това, с което работя: public delegate object...
197 изгледи

Извикващ метод на разширение (напр. Union) на параметър от общ тип
Опитваме се да изградим библиотечна рутина, която приема параметър за общ тип. Сблъскахме се с проблем, при който методът на разширение „Union“ не се разпознава като валиден за генерично въведения параметър, без значение как ограничаваме типа. Ето...
228 изгледи
schedule 30.05.2024