Вопросы по теме 'extension-methods'

Есть ли способ в C # переопределить метод класса с помощью метода расширения?
Были случаи, когда я хотел переопределить метод в классе с помощью метода расширения. Есть ли способ сделать это на C #? Например: public static class StringExtension { public static int GetHashCode(this string inStr) { return...
33605 просмотров
schedule 04.01.2024

Можно ли провести рефакторинг этого метода расширения?
У меня есть следующий метод расширения: 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

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

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

Нужно ли экспортировать расширения базовых методов в пакет R? Последствия для документации?
В принципе, я мог бы оставить эти расширения неэкспортируемыми, и это также позволило бы мне не добавлять избыточную документацию для этих уже хорошо задокументированных методов, при этом также передавая R CMD check myPackage без каких-либо...
481 просмотров

Общий метод расширения с ограничением интерфейса
Я сделал общий метод расширения (т.е. AsXml), но все еще хочу ограничение с интерфейсом (IXmlable) для некоторых из моих классов. Как только я ввел свое ограничение, некоторые мои методы спорят со мной. Один из моих методов - повторное...
47 просмотров
schedule 23.11.2023

Переключение альтернативного/расширяемого программирования передовой опыт?
Во-первых, немного предыстории моего вопроса; Я пишу модульную программу типа Server/Client на С#. У меня есть система потоковой обработки для обработки моих пакетов из клиентской очереди, пример того, с чем я работаю: public delegate object...
197 просмотров

Вызов метода расширения (например, Union) для параметра универсального типа
Мы пытаемся создать библиотечную подпрограмму, которая принимает параметр универсального типа. Мы столкнулись с проблемой, из-за которой метод расширения «Union» не распознается как допустимый для параметра общего типа независимо от того, как мы...
228 просмотров
schedule 30.05.2024

Не понимаю, почему этот код 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

Шаблон страницы таблицы Scout Eclipse
Я хочу создать AbstractTemplatePageWithTable в качестве шаблона. Моя проблема в том, что при создании шаблона: MyPageTemplateTablePage | ---> MyTable Extends AbstractTable или в коде public abstract class...
74 просмотров

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

Вызов метода расширения Visual Studio 2015 как группы методов
У меня есть метод расширения, например public static void RemoveDetail<TMaster, TChild>(this TMaster master, TChild child) where TMaster : class, IMaster<TChild> where TChild : class, IDetail<TMaster>; А у...
612 просмотров

У меня есть два метода расширения Kotlin для одного и того же класса, но с разными общими сигнатурами, и компилятор жалуется
Я пишу две функции расширения для одного и того же класса: class Something<T:Any> { ... } Они похожи: fun Something<Int>.toJson(): String = ... fun Something<Double>.toJson(): String = ... И приводит к ошибке...
1901 просмотров
schedule 30.11.2022

Почему типы нельзя вывести из использования метода расширения?
Смотрите следующий недавний ответ: https://stackoverflow.com/a/36421418/1017882 Подводя итог, был написан метод расширения, использующий дженерики: static TResult GetEntry<TEnum, TResult>(this Dictionary<TEnum, string>...
95 просмотров
schedule 13.12.2023

Открытый член «ToCSVValue» для типа «Целое число» не найден для метода расширения VB
Я пытаюсь написать расширение ToCSV() в VB на основе блог Скотта Хансельмана . Может быть, мой C # на VB неверен, но все кажется правильным. Я добавил модуль с: <System.Runtime.CompilerServices.Extension> Public Function ToCSV(Of T)(items...
1398 просмотров
schedule 26.11.2022

Ionic2 добавить собственный метод расширения
Я хочу добавить метод расширения к собственному типу String. строка-расширение.ts: interface String { toSlug(): string; } String.prototype.toSlug = function () { var str = this.toLowerCase(); str =...
300 просмотров
schedule 25.11.2022

Swift: создайте инфиксный оператор для необязательных значений, которые предоставляют значения по умолчанию, когда они пусты.
В отношении моего последнего вопроса (здесь: Swift где условие для проверки того, реализовано ли свойство ), где я думал, что поступил очень умно, создав расширение протокола для предоставления значения по умолчанию для нулевых или пустых строк,...
198 просмотров

Как добавить категорию в класс Objective C в модуле?
Мне нужно расширить функциональность модуля библиотеки, написанного на Objective C (остальная часть проекта — на Swift). Я создал файлы MyClass+Category .h и .m (как категорию) с выбранным модулем в качестве цели, но я получаю сообщение об ошибке...
162 просмотров

Как я могу расширить Decodable для инициализации из словаря?
Я хочу расширить Decodable, чтобы создать новый экземпляр класса Codable из словаря значений. extension Decodable { init(from dictionary: [String : Codable]) throws { let data = try JSONSerialization.data(withJSONObject: dictionary,...
465 просмотров
schedule 25.10.2023