Ho la seguente classe di base astratta:C# params sulla firma del metodo non si rompe un override/implementazione
public abstract class HashBase
{
public abstract byte[] Hash(byte[] value);
}
E poi vado avanti e attuare tale classe:
public class CRC32Hash : HashBase
{
public override byte[] Hash(params byte[] value)
{
return SomeRandomHashCalculator.Hash(value);
}
}
Compile. ..e funziona!
- Si consiglia o conduce a codice "malvagio"?
- È "params" una sorta di zucchero sintattico?
* "È" param "una sorta di zucchero sintattico?" * Sì! Se si passa un array, utilizzerà tale array; se passi alcune cose che potrebbero essere elementi di un array, le renderà in un array. Quindi è compatibile; Non so se è consigliato. – Ryan