public class TestClass1
{
public void TestMethod1()
{
new Logger<TestClass1>().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
}
}
Loggerをインスタンス化し、 TestClass1をジェネリック Tとして渡す場合、開発者が TestClass1 ではなく別のものを入力すると、問題が発生する可能性があります。たとえば、次のコード行は問題になる可能性があります。
new Logger<Test123>().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
TestClass1を自動的に推測して渡すという次のコード行を書くにはどうすればよいですか?
new Logger<TestClass1>().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
次の 2 行のコードを試しましたが、うまくいきません。
new Logger<this>().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
new Logger<this.GetType>().Log(LogType.Info, "FROM TESTCLASS1.TESTMETHOD1");
更新 アプリケーション全体で、TestClass1、MyClass123など、これまでにないクラスを渡す可能性があるため、一般的な制約を設定できない場合があります。
助けてください。