Существует ли аналог функции defineProperty в C#?
Object.defineProperty(
Object.prototype,
'reverse',
{
value: function () {
if (this instanceof String) {
let s = '';
for (i = 0; i < this.length; i++) {
s += this[(this.length -1) - i];
}
s = s.charAt(0).toUpperCase() +
s.slice(1, this.length -1) +
s.charAt(this.length -1).toLowerCase();
return s;
}
}
}
);
var str = 'Едрить';
var str2 = 'Идем молод , долом меди';
console.log(`${str.reverse()}\n${str2.reverse()}`);
Можно ли повторить этот код в C# без килотонны классов? Если да, то как?
Ответы (1 шт):
Автор решения: Uranus
→ Ссылка
В C# тоже есть возможность добавлять новые методы не изменяя классов: Extension Methods.
public static class MyExtensions {
public static string Reverse(this string original) {
// ...
}
}
string str = "abc".Reverse();