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());

Respuestas a la pregunta(4)

Su respuesta a la pregunta