Вопросы с тегом «extension-methods»

98
Есть ли способ в C # переопределить метод класса с помощью метода расширения?

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

98
Как расширить класс методами расширения c #?

Можно ли применить к классу методы расширения? Например, расширите DateTime, чтобы включить метод Tomorrow (), который можно было бы вызывать следующим образом: DateTime.Tomorrow(); Я знаю, что могу использовать static DateTime Tomorrow(this Datetime value) { //... } Или public static MyClass {...

96
Как использовать расширения ядра Active Support

У меня установлена ​​Active Support 3.0.3 и Rails 3.0.3 с Ruby 1.8.7. Когда я пытаюсь использовать, 1.week.agoя получаю NoMethodError: undefined method 'week' for 1:Fixnum from (irb):2 Другие основные расширения вроде работают. Я попробовал его на компьютере друга (у него те же спецификации...

95
Где находится метод расширения LINQ «Сгибание»?

В примерах MSDN Linq я нашел изящный метод под названием Fold (), который я хочу использовать. Их пример: double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 }; double product = doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor); К сожалению, я не могу скомпилировать это ни в их...

91
Как расширить встроенные типы C #, например String?

Привет всем ... Мне нужен Trima String. Но я хочу удалить все повторяющиеся пробелы в самой строке, а не только в конце или в начале ее. Я мог бы сделать это с помощью такого метода: public static string ConvertWhitespacesToSingleSpaces(string value) { value = Regex.Replace(value, @"\s+", " "); }...

87
Как использовать Moq для имитации метода расширения?

Я пишу тест, который зависит от результатов метода расширения, но я не хочу, чтобы будущий сбой этого метода расширения когда-либо нарушил этот тест. Насмешка над этим результатом казалась очевидным выбором, но Moq, похоже, не предлагает способа переопределить статический метод (требование для...

85
Как мне написать метод расширения на JavaScript?

Мне нужно написать несколько методов расширения на JS. Я знаю, как это сделать на C #. Пример: public static string SayHi(this Object name) { return "Hi " + name + "!"; } а затем позвонил: string firstName = "Bob"; string hi = firstName.SayHi(); Как мне сделать что-то подобное в JavaScript?...

84
Какие преимущества методов расширения вы обнаружили? [закрыто]

В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно...

82
Пример быстрого расширения

Изначально я хотел узнать, как сделать что-то подобное UIColor.myCustomGreen чтобы я мог определять свои собственные цвета и использовать их во всем своем приложении. Раньше я изучал расширения и думал, что, вероятно, смогу использовать их для решения своей проблемы, но я не мог точно вспомнить,...

79
Почему ключевое слово this требуется для вызова метода расширения из расширенного класса

Я создал метод расширения для ASP.NET MVC ViewPage, например: public static class ViewExtensions { public static string Method<T>(this ViewPage<T> page) where T : class { return "something"; } } При вызове этого метода из представления (производного от ViewPage) я получаю сообщение об...