Вот обходное решение для Сублимированного текста 2 конкретно. Установка этот пакет , или через Управление Пакетом или вручную:
cd ~/.config/sublime-text-2/Packages
git clone https://github.com/xgenvn/InputHelper.git
После перезапуска Сублимата можно получить доступ к входному окну для составленных сочетаний клавиш с Ctrl + Сдвиг + Z . Хит Входит для вставки последовательности в позиции курсора.
Вы не можете этого сделать. Вы можете предоставлять только перегруженные операторы для классов и структур, которые вы определяете, и по крайней мере один из параметров должен иметь тип самого класса или структуры. То есть вы можете объявить перегруженный оператор сложения, который добавляет MyClass
к MyEnum
, но вы никогда не сможете сделать это с двумя значениями MyEnum
. .
Как говорит Мехрдад, вы не можете сделать это в самом перечислении. Однако вы можете создать пару методов расширения, которые работают с вашим перечислением. Это сделает его похожим на методы перечисления.
static bool IsLessThan(this SizeType first, SizeType second) {
}
Как уже упоминалось ранее, нельзя переопределить операторы в Enums, но вы можете сделать это в структуре. См. Пример ниже. Сообщите мне, помогло ли это:
public struct SizeType
{
private int InternalValue { get; set; }
public static readonly int Small = 0;
public static readonly int Medium = 1;
public static readonly int Large = 2;
public static readonly int ExtraLarge = 3;
public override bool Equals(object obj)
{
SizeType otherObj = (SizeType)obj;
return otherObj.InternalValue.Equals(this.InternalValue);
}
public static bool operator >(SizeType left, SizeType right)
{
return (left.InternalValue > right.InternalValue);
}
public static bool operator <(SizeType left, SizeType right)
{
return (left.InternalValue < right.InternalValue);
}
public static implicit operator SizeType(int otherType)
{
return new SizeType
{
InternalValue = otherType
};
}
}
public class test11
{
void myTest()
{
SizeType smallSize = SizeType.Small;
SizeType largeType = SizeType.Large;
if (smallSize > largeType)
{
Console.WriteLine("small is greater than large");
}
}
}