public interface IHashStorage<T> {
public static final float INITIAL_LOAD_FACTOR = 0.7f;
public static final int INITIAL_CAPACITY = 149;
}
Ho il codice sopra il quale deve essere tradotto in C#. L'unica soluzione che sembra essere corretto è quello di rendere un class.From astratto quello che ho trovato è più sicuro da usare sola lettura di const:È la migliore opzione per convertire un'interfaccia java con campi statici in una classe astratta in C#?
public abstract class IHashStorage<T>
{
private readonly float INITIAL_LOAD_FACTOR = (float)0.7;
private readonly int INITIAL_CAPACITY = 149;
}
Il progetto in Java sta usando il modello Decorator e Proxy, la trasformazione da java to C# può richiedere di usare più classi astratte (attualmente in java ci sono solo interfacce usate)? So teoricamente la differenza tra loro ma praticamente in C# ho usato più lezioni astratte. Non sono così familiare con java e vorrei Mi piacerebbe sapere il vostro consiglio su come trovare la soluzione migliore per completare questo compito, voglio dire i punti principali da tenere a mente quando si converte il codice.
Per inciso, sembra sbagliato avere i campi che si menzione attaccato all'interfaccia (che è una specie di motivo per cui non è consentito in C#). Le interfacce non devono definire l'implementazione, i fattori di carico e le capacità iniziali sono dettagli di implementazione. Questi dovrebbero essere lasciati a un'implementazione specifica dell'interfaccia, non l'interfaccia stessa. –
Piccola nota, non è necessario eseguire il cast per il float quando si assegna. Puoi ancora usare 0.7f; –