C # enigma: implementar la interfaz
ACTUALIZACIÓN:
Esta pregunta no es tarea. Y no impermeabilizante aparentemente ... quería una discusión sobre la representación interna. Por supuesto: el add1000 debería agregar 1000.
** Por favor, responda con el espíritu de esta pregunta ... Hacer esto impermeable hará que esta pregunta sea más larga sin ninguna razón. ** Puede vencer una representación decimal puraCambio de representación interna en tiempo de ejecución. ACTUALIZACIÓN 2: ver
Crea un tipo que implemente esta interfaz:
interface INumber
{
void add1000();
void SetValue(decimal d);
decimal GetValue();
}
de modo que itero lo más rápido posible de 0 a 10 mil millones (mil millones de dólares americanos, así que hasta 10e9) en este bucle for:
private static void DoSomeAdding(INumber n)
{
Debug.Assert(n.GetValue()==0);
for (long i=0; i<10000000000; i += 1000)
{
n.add1000();
}
Debug.Assert(n.GetValue() == 10000000000);
}
Así que puedes llamarlo como:
DoSomeAdding(new YourNumberClass());