从静态类调用方法,传递带有泛型的动态变量类型
我如何从静态类中调用在泛型中传递动态类型的方法。 这是我的静态类:
public static class Log<T>
{
private readonly static ILog Logger = LogManager.GetLogger(typeof(T));
public static void LogInfo(string message)
{
Logger.Info(message);
}
}
我想这样调用 LogInfo:
Log<myObject.GetType()>.LogInfo("Some String");
我的问题是如何在 Generic 中传递 myObject 的类型,因为这个对象的类型是动态的。
How can i call a method from a static class passing a type of dynamic in generic.
Here is my static class:
public static class Log<T>
{
private readonly static ILog Logger = LogManager.GetLogger(typeof(T));
public static void LogInfo(string message)
{
Logger.Info(message);
}
}
I want to call LogInfo like this:
Log<myObject.GetType()>.LogInfo("Some String");
My question is about how to pass a type of myObject in Generic, because the type of this object is dynamic.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么?为什么不这样做:
请注意,这不是、不是、不是线程安全的。我想传达这个想法。
然后:
可以替换为,
或者您甚至可以更进一步,添加一个允许您说的重载
(只需在
LogInfo
中调用object.GetType
)。Why? Why don't you just do this:
Note that this is not, Not, NOT thread safe. I wanted to communicate the idea.
Then:
can be replaced by
or you can even go one step further and add an overload that allows you to say
(just call
object.GetType
inLogInfo
).