Здравствуйте, Osaka, Вы писали:
S>>Стесняюсь спросить — а зачем? O>А вообще идея возникла из неудобного выделения мышью (надо бы как число или слово — dblclick в 1 точке, а приходится вручную выцеливаться в начало и конец).
ОМГ. То есть вы предлагаете вместо починки IDE починить язык? Ну-ну.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Osaka, Вы писали:
S>>Стесняюсь спросить — а зачем? O>А вообще идея возникла из неудобного выделения мышью (надо бы как число или слово — dblclick в 1 точке, а приходится вручную выцеливаться в начало и конец).
Это элементарно исправляется выкидыванием мыши установкой VsVim. Выделение строки: vi". Всё просто!
Ce n'est que pour vous dire ce que je vous dis.
Re[4]: Что нужно добавить в C#?
От:
Аноним
Дата:
28.02.13 13:21
Оценка:
Здравствуйте, Osaka, Вы писали:
S>>Стесняюсь спросить — а зачем? O>А вообще идея возникла из неудобного выделения мышью (надо бы как число или слово — dblclick в 1 точке, а приходится вручную выцеливаться в начало и конец).
Resharper: Ctrl+W. И несколько раз до расширения выделения до нужных границ.
Из мелкого мне бы хотелось возможность наследовать парралельные ветки:
//Base interfacesinterface IXmlNode
{
IList<IXmlNode> Children { get; }
}
interface IXmlElement : IXmlNode
{
}
// Simple implementationclass XmlNodeBase : IXmlNode
{
public IList<IXmlNode> Children
{
get { return children; }
}
IList<IXmlNode> children = new List<IXmlNode>();
}
class XmlElementBase : XmlNodeBase, IXmlElement
{
}
//Real Implementationclass MsXmlNode : XmlNodeBase
{
}
class MsXml : MsXmlNode, XmlElementBase//Error here!
{
}
Из крупного хочется мочь создавать доменные языки сразу в коде, на пример пусть я хочу чтобы, у Dictionary можно было указывать название свойств вместо Key и Value, для этого делаю свою лексему:
//создаю лексему, которая ведёт себя как типlet dictionary = dictionary<KeyType KeyName, ValueType ValueName> : Type
where KeyType: Type, KeyName: Identifier, ValueType: Type, ValueType: Identifier
{
class @item : KeyValuePair<KeyType, ValueType>
{
public KeyType KeyName { get { return base.Key; } set { base.Key = value; }}
public ValueType ValueName { get { return base.Value; } set { base.Value = value; }}
}
class @ : IEnumerable<@item>
{
}
}
//В итоге могу писать так:var test = new dictionary<string passport, string fullname>();
foreach(var i in test)
Console.WriteLine("{0}->{1}", i.passport, i.fullname);
Здравствуйте, Sinclair, Вы писали:
S>Работая в продуктовой конторе, могу вас, пацаны, разочаровать. В нужную работу, помимо проектирования и review, входит также мейнтенанс на пять лет вперёд
Ты видимо кем-то не тем работаешь. Любой работник отдела кадров и директор знает, что есть разные специалисты отвечающие за разные задачи. По идее не нужно быть курицей чтобы понимать толк в яичнице, но чем черт не шутит?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Y>И как понять компилятору: это guid или переменная?
По длине
Друга ищи не того, кто любезен с тобой, кто с тобой соглашается, а крепкого советника, кто полезного для тебя ищет и противится твоим необдуманным словам.
в иде, если можно сделать чётко и лаконично в языках?
Друга ищи не того, кто любезен с тобой, кто с тобой соглашается, а крепкого советника, кто полезного для тебя ищет и противится твоим необдуманным словам.
S>Двойной щелчок перед открывающей кавычкой пробовали?
Неудобно, нужно точно попадать и кавычки отрезАть потом (чтобы, например, в sql-запрос вписать).
Друга ищи не того, кто любезен с тобой, кто с тобой соглашается, а крепкого советника, кто полезного для тебя ищет и противится твоим необдуманным словам.
S>Если вам неважно это значение, схлопните регион, в котором оно.
А если важно, и их несколько в строке?
Друга ищи не того, кто любезен с тобой, кто с тобой соглашается, а крепкого советника, кто полезного для тебя ищет и противится твоим необдуманным словам.
Здравствуйте, Sinclair, Вы писали:
S>А если вы откажетесь от этих "обременений" — то Редмонд ваше предложение никак не заинтересует. У них и своих проектировщиков хватает; с учётом ихних зарплат, проект+ревью им обойдётся тыщи в четыре, от силы в пять.
Убедил. Я отказываюсь от своего предложения.
Если нам не помогут, то мы тоже никого не пощадим.
А>Какие проблемы у Скита решаются с помощью class enum мне понять вообще не удалось.
А>То есть, я боюсь, что если и сделают енамы более объектными, то вместо маленького нужного инструмента зафигачат большой и ненужный. Если кому-то нужен класс и enum в одном флаконе, пусть пишет, как в PHP, то есть, класс с константами, с методами, конструкторами и прочим. А чтобы не копипастить код, когда уже есть enum, а свой такой класс надо построить на его базе, вполне достаточно поддержать наследование. И наследование самих enum'ов, конечно. Тоже не хватает, чтобы, допустим, от enum'а с секундой унаследовать как СИ, так и грамм-секундную систему. И чтобы секунда там и там была одной и той же.
public enum LengthUnit
{
Millimeter = 1,
Meter = 1000,
Inch = 25400;
}
public static class LengthUnitExtensions
public static LengthUnit Parse(this string text)
{
if (text == "mm") return LengthUnit.Millimeter;
if (text == "m") return LengthUnit.Meter;
if (text == "\"") return LengthUnit.Inch;
}
public string GetSystem(this LengthUnit value)
{
switch (value)
{
case LengthUnit.Millimeter:
case LengthUnit.Meter:
return"Metric";
case LengthUnit.Inch:
return"US";
default: return string.Empty;
}
}
}
...
var system = "mm".Parse().GetSystem();
в иде, если можно сделать чётко и лаконично в языках?
Затем, что каждому своё.
Язык нужен для того, чтобы его было легко читать человеку.
IDE нужна для того, чтобы на этом легкочитаемом языке было легко писать.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Osaka, Вы писали:
S>>Если вам неважно это значение, схлопните регион, в котором оно. O>А если важно, и их несколько в строке?
Если важно, то base64 — отвратительная идея. Хуже неё — только base64 от gzip от guid.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Хотелось бы объявлять операторы в интерфейсах.
И какой-нибудь механизм, позволяющий писать дженерики, принимающие только numeric-типы, например (общем случае реализующие какой-то набор операторов).
Здравствуйте, Ziaw, Вы писали:
VD>>Попробуй, ради хохмы, таким образом совместить ссылочный тип и какой-нибудь long. Узнаешь много нового.
Z>А какой в этом смысл в мире управляемых указателей?
Смысл может быть любой. Он задачей определяется. Это же просто объединение двух величин. Например, строки и целого. А вот работать не будет, так как CLR не позволяет совместить указатель и значение. GC тупо упадет.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.