передать сам объект класса в конструктор

class LogUtil : ILogUtility
{
    object _classtype;
    log4net.ILog log;

    public LogUtil(object classtype)
    {
        _classtype = classtype;
        log = log4net.LogManager.GetLogger(_classtype.GetType().FullName);
    }

    public void Log(LogType logtype, string message)
    {
        Console.WriteLine("logging coming from class {0} - message {1} ", _classtype.GetType().FullName, message);
    }
}

Из кода клиентского класса я вызываю указанный выше класс LogUtil следующим образом:

public class TestCode
{

    public void test()
    {
        LogUtil logutil = new LogUtil(this);

    }

}

В конструкторе LogUtil я хочу ИЗБЕГАТЬ передачи объекта тип класса. Я хочу передать объект клиентского класса, который я могу передать методу GetLogger. Метод GetLogger должен знать, какой класс создал экземпляр класса LogUtil.

В том виде, в котором я это сделал сейчас, я могу передать целочисленный тип переменной класса, и это сработает. Я хочу избежать этого.

Как мне это сделать? Как я могу использовать метод дженериков в этом случае?

0
задан dotnet-practitioner 24 April 2012 в 18:19
поделиться