public interface IHashStorage<T> {
public static final float INITIAL_LOAD_FACTOR = 0.7f;
public static final int INITIAL_CAPACITY = 149;
}
Mam powyższy kod, który należy przetłumaczyć w języku C#. Jedynym rozwiązaniem wydaje się być właściwe jest, aby to abstrakcyjne class.From co znalazłem to bezpieczniej jest używać tylko do odczytu niż const:Czy jest to najlepsza opcja do przekonwertowania interfejsu java na pola statyczne w klasie abstrakcyjnej w języku C#?
public abstract class IHashStorage<T>
{
private readonly float INITIAL_LOAD_FACTOR = (float)0.7;
private readonly int INITIAL_CAPACITY = 149;
}
Projekt w Javie korzysta Wzorzec Dekorator i Proxy, transformacja z java to C# może wymagać użycia bardziej abstrakcyjnych klas (obecnie w java są używane tylko interfejsy)? Wiem teoretycznie różnicę między nimi, ale praktycznie w C# użyłem abstrakcyjnych klas więcej. Nie jestem zaznajomiony z java i chciałbym lubię znać twoją radę, jak znaleźć najlepsze rozwiązanie, aby dokończyć to zadanie, mam na myśli główne punkty, o których warto pamiętać przy konwersji kodu.
Tak na marginesie, wydaje się źle mają pola, które można wymienić dołączone do interfejsu (który niby dlaczego nie wolno w C#). Interfejsy nie powinny definiować implementacji, a współczynniki obciążenia i pojemności początkowe są szczegółami implementacji. Należy je pozostawić do określonej implementacji interfejsu, a nie samego interfejsu. –
Mała uwaga, nie trzeba rzutować, aby unosić podczas przypisywania. Nadal możesz używać 0.7f; –