mirror of
https://github.com/Jetsparrow/karmabot.git
synced 2026-01-21 00:56:09 +03:00
31 lines
1.0 KiB
C#
31 lines
1.0 KiB
C#
using System;
|
|
using System.Linq;
|
|
using NLog;
|
|
using Perfusion;
|
|
|
|
namespace JetKarmaBot
|
|
{
|
|
public class LogInfo : ObjectInfo
|
|
{
|
|
public override ObjectInfo Clone() => new LogInfo();
|
|
|
|
public override object GetInstance(IContainer c, Type requester = null)
|
|
{
|
|
return LogManager.GetLogger(requester != null ? getTypeName(requester) : "<type unspecified>");
|
|
}
|
|
private string getTypeName(Type t)
|
|
{
|
|
return (t.DeclaringType == null ? t.Namespace + "." + t.Name : getTypeName(t.DeclaringType) + "." + t.Name)
|
|
+ (t.GenericTypeArguments.Length > 0 ? "<" + string.Join(",", t.GenericTypeArguments.Select(getTypeName)) + ">" : "");
|
|
}
|
|
}
|
|
public class VerbInfo : ObjectInfo
|
|
{
|
|
public override ObjectInfo Clone() => new VerbInfo();
|
|
|
|
public override object GetInstance(IContainer c, Type requester = null)
|
|
{
|
|
return c.ResolveObject(new VerbCommandRouter(requester != null ? requester.Name : "<type unspecified>"));
|
|
}
|
|
}
|
|
} |