Расширение перечисления через наследование
Когда встроенных перечислений csharp недостаточно, вы можете сделать jre это по старинке и создать dot-net свои собственные. Например, если csharp вы хотите добавить дополнительное .net-framework свойство, например, поле java описания, вы можете сделать dot-net это следующим образом:
public class Action {
public string Name {get; private set;}
public string Description {get; private set;}
private Action(string name, string description) {
Name = name;
Description = description;
}
public static Action DoIt = new Action("Do it", "This does things");
public static Action StopIt = new Action("Stop It", "This stops things");
}
Затем .net вы можете обращаться с ним dot-net как с перечислением следующим dotnet образом:
public void ProcessAction(Action a) {
Console.WriteLine("Performing action: " + a.Name)
if (a == Action.DoIt) {
// ... and so on
}
}
Хитрость заключается .net в том, чтобы убедиться, что visual-c# конструктор является закрытым jdk (или защищенным, если вы .java хотите наследовать), а ваши .net-framework экземпляры являются статическими.
c#
java
.net
Расширение перечисления через наследование
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.