小编Win*_*ter的帖子

如何在运行时使用NLog获取当前目标文件的路径?

我使用NLog进行下一个配置:

  <targets>
    <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
            layout="${longdate} ${uppercase:${level}} ${message}" />
  </targets>
  <rules>
    <logger name="*" minlevel="Trace" writeTo="f" />
  </rules>
Run Code Online (Sandbox Code Playgroud)

我试图获得(我检查,集合中只有一个FileTarget)的FileName属性FileTarget

NLog.LogManager.GetCurrentClassLogger().Info("test");
var logFile = (from t in NLog.LogManager.Configuration.AllTargets
                where t is NLog.Targets.FileTarget
                select (NLog.Targets.FileTarget)t).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

但是logFile.FileName只包含文件名的模式,确切地说它是如何在设置中指定的.

如何获取当前日志文件的运行时路径?

c# nlog

49
推荐指数
4
解决办法
3万
查看次数

类型推断不起作用

class Sample
{
    public static T M<T, TParam1>(TParam1 param1)
    {
        return default(T);
    }
}
class Program
{
    static void Main(string[] args)
    {

        double d = Sample.M((int)121);
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码不编译并导致以下错误消息:

无法从用法推断出方法'ThreadPoolTest.Sample.M(TParam1)'的类型参数.尝试显式指定类型参数

为什么在这个例子中没有类型推断?

c# type-inference

3
推荐指数
2
解决办法
308
查看次数

.NET正则表达式:{0}量词是否有效?

在LINQPad(.NET)中,所有这些表达式都返回"True":

new Regex(@"\w{0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"(\w){0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"[\w]{0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"([\w]){0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"\w{0,0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"(\w){0,0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"[\w]{0,0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"([\w]){0,0}").IsMatch("aa aa ZZ Z").Dump();
new Regex(@"([a]){0,0}").IsMatch("aaaaZZZ").Dump();
Run Code Online (Sandbox Code Playgroud)

为什么?

c# regex

0
推荐指数
1
解决办法
149
查看次数

标签 统计

c# ×3

nlog ×1

regex ×1

type-inference ×1