Mam biblioteki klas w języku C# i ma wiele różnych funkcji dla mnie. Chcę być w stanie logować się przez całą klasę, ale naprawdę nie chcę przez cały czas przekazywać instancji biblioteki rejestrowania.Logowanie w bibliotece klas bez odnośników mija
np.
public void MyMethod(LoggingClass logger)
{
logger.log("something");
}
public void MyMehtod2(LoggingClass logger)
{
logger.log("something else");
}
Mam klasy wszędzie w całej tej biblioteki i zmagam się z dobrej drodze do tego celu. Zastanawiałem się nad zastrzykiem uzależnienia z Ninject, ale nie mogę się zorientować, jak to powinno działać.
Podsumowując, chcę móc mieć klasę rejestrowania i móc ją utworzyć raz, a następnie użyć jej wszędzie do zalogowania.
UWAGA: Drugi parametr w podpisie dla 'Log' ma literówkę. Słowo kluczowe to 'params', a nie' param', a cała linia powinna brzmieć: 'internal statical void Log (string Message, params object [] args) {' –
Dzięki @DavidTansey: naprawiono – IAbstract
@Abstract Jak mogę podzielić się wspólną logować się między kodem wywołującym bibliotekę klas a samą biblioteką klas? – Howiecamp