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クラスをインスタンス化したクラスを知る必要があります。
私が今持っている方法では、整数変数クラス型を渡すことができ、それは機能します。避けたい。
それ、どうやったら出来るの?この場合、ジェネリックメソッドをどのように利用できますか?