Spero che questo tipo di "indovinello" sia ontopico in Programming Puzzles & Code Golf.
Fornisci un esempio di una situazione in cui viene restituito ilfalse
metodo C # riportato di seguito :
public class Giraffe : Animal
{
public bool Test()
{
return this is Giraffe;
}
}
Regole: Le righe di codice sopra non devono essere modificate in alcun modo, ma si inserirà il codice in un'applicazione in modo che il "progetto" si compili e venga chiamato il metodo. Quando eseguito, il metodo deve restituire false
. La soluzione che ho in mente, non emette il proprio IL in fase di esecuzione o cose "esotiche" simili, è una normale chiamata di metodo di istanza.
Animal giraffe = new Giraffe(); giraffe.Test();
e la classe genitore Animal
ha un Test()
metodo che ritorna false
. Questo è un po 'barare perché chiama il metodo della classe genitore piuttosto che Giraffe
' s. Ma il sito della chiamata ha lo stesso aspetto.
false
, quindi non direi che era una soluzione completa. Ma interessante ancora. La mia soluzione non ha alcun metodo nascosto (suggerimento), ma come ho già detto, anche altre soluzioni potrebbero essere interessanti.
Giraffe giraffe = new Giraffe(); giraffe.Test();
deve avvenire in qualche modo in modo che la linea in quel metodo venga, di fatto, eseguita?