Вопросы по теме '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 просмотров
schedule
14.10.2022
Нужно ли экспортировать расширения базовых методов в пакет R? Последствия для документации?
В принципе, я мог бы оставить эти расширения неэкспортируемыми, и это также позволило бы мне не добавлять избыточную документацию для этих уже хорошо задокументированных методов, при этом также передавая R CMD check myPackage без каких-либо...
481 просмотров
schedule
24.09.2022
Общий метод расширения с ограничением интерфейса
Я сделал общий метод расширения (т.е. AsXml), но все еще хочу ограничение с интерфейсом (IXmlable) для некоторых из моих классов.
Как только я ввел свое ограничение, некоторые мои методы спорят со мной.
Один из моих методов - повторное...
47 просмотров
schedule
23.11.2023
Переключение альтернативного/расширяемого программирования передовой опыт?
Во-первых, немного предыстории моего вопроса; Я пишу модульную программу типа Server/Client на С#. У меня есть система потоковой обработки для обработки моих пакетов из клиентской очереди, пример того, с чем я работаю:
public delegate object...
197 просмотров
schedule
26.05.2024
Вызов метода расширения (например, 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 просмотров
schedule
19.10.2022
Создание метода расширения для обертывания типов как IEnumerables
Я хотел создать метод расширения, который бы эффективно обертывал отдельные объекты как IEnumerables. Это было сделано для того, чтобы избежать случаев, когда вы в конечном итоге ставите new [] {} в середине выражения. Это достаточно легко...
184 просмотров
schedule
06.03.2024
Вызов метода расширения 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 просмотров
schedule
24.04.2024
У меня есть два метода расширения 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 просмотров
schedule
13.10.2022
Как добавить категорию в класс Objective C в модуле?
Мне нужно расширить функциональность модуля библиотеки, написанного на Objective C (остальная часть проекта — на Swift). Я создал файлы MyClass+Category .h и .m (как категорию) с выбранным модулем в качестве цели, но я получаю сообщение об ошибке...
162 просмотров
schedule
07.01.2024
Как я могу расширить Decodable для инициализации из словаря?
Я хочу расширить Decodable, чтобы создать новый экземпляр класса Codable из словаря значений.
extension Decodable {
init(from dictionary: [String : Codable]) throws {
let data = try JSONSerialization.data(withJSONObject: dictionary,...
465 просмотров
schedule
25.10.2023