Ich mag würde das gleiche Verhalten wie cpp erhalten:Wie kann ich Kotlin Enum gleiche Verhalten wie cpp diejenigen
enum dxgi_format_gli
{
DXGI_FORMAT_R64_UINT_GLI = 1,
DXGI_FORMAT_R64_SINT_GLI
}
wo DXGI_FORMAT_R64_UINT_GLI
1 erhält, und der nächste bekommt 2
in der Nähe Ich habe ist:
private var counter: Int = 2;
enum class dxgi_format_gli(i: Int = counter++) {
DXGI_FORMAT_R64_UINT_GLI(1),
DXGI_FORMAT_R64_SINT_GLI()
}
aber ich möchte, natürlich, dynamisch sein, das heißt, wenn ich den Konstruktor mit einem Parameter aufrufen, dass man in counter
und alle folgenden konst speichern ructors Zuwachs und bekommen es ..
Ich habe es schon in Java:
public enum Dxgi_format_gli {
DXGI_FORMAT_R64_UINT_GLI(1),
DXGI_FORMAT_R64_SINT_GLI;
public final int value;
private static class Counter {
private static short value = 0;
}
private Dxgi_format_gli() {
value = Counter.value;
Counter.value++;
}
private Dxgi_format_gli(int value) {
this.value = value;
Counter.value++;
}
}
Aber ich machte es nicht Kotlin mit ..
Sehr cool! Sie emulierten die beste Eigenschaft von C++! Siehe meine Antwort für den kurzen Weg. – voddan