小编vmg*_*vmg的帖子

建议设计:应用程序中几乎每个对象都有loggger

我正在写一个应用程序.我使用NLog进行日志记录.在这个应用程序中几乎每个对象都可以写入日志.我为此定义了受保护的成员:

protected Logger logger;

protected virtual Logger Logger
{
     get { return logger ?? (logger = LogManager.GetLogger(this.GetType().ToString())); }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我需要为应用程序中的每个基类复制/粘贴此代码.或者我看到其他选项:使用logger定义特定于应用程序的根对象并将其子类化.但在语义上这听起来是错误的,因为对我来说这不是真正的"是 - "的情况.

还有更好的选择吗?

c# logging design-patterns nlog

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

Visual Studio扩展包中未触发DebuggerEvents.OnEnterBreakMode

我写了一个visual studio扩展包,它订阅了DebuggerEvents.OnEnterBreakMode事件.但是这个事件永远不会被提升.

这是一些代码:

protected override void Initialize()
    {
        base.Initialize();

        applicationObject = (DTE2) GetService(typeof (DTE));

        applicationObject.Events.BuildEvents.OnBuildDone += BuildEventsOnOnBuildDone;
        applicationObject.Events.DebuggerEvents.OnEnterBreakMode += DebuggerEventsOnOnEnterBreakMode;
    }
Run Code Online (Sandbox Code Playgroud)

但方法DebuggerEventsOnOnEnterBreakMode永远不会被调用.BuildEventsOnOnBuildDone调用方法.

为什么会这样?

c# visual-studio visual-studio-debugging visual-studio-extensions

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

如何在 Chrome 开发工具的 Elements 页面中查看#document-fragment?

有没有办法查看页面上创建的所有文档片段?到目前为止,我可以通过使用 JS 调试器、添加 DOM 对象来观看(或使用控制台),然后使用“在元素面板中显示”来查看它们 https://developers.google.com/web/updates/2015/04 /28/在元素面板中显示?hl=en

但是有没有办法直接进入元素面板并查看创建的文档片段是什么?也尝试过这个(值得一试,对吧?):

document.getElementById("#document-fragment")
null
document.getElementById("document-fragment")
null
Run Code Online (Sandbox Code Playgroud)

dom google-chrome-devtools

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

如何在ES6 Map中为每个中断/中断/停止?

是否有一种很好的方法(使用JS例外除外)来停止ES6 Map对象中的forEach循环(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach

从MDN上提供的示例中-有一种方法可以停止对“栏”(跳过栏)的枚举:

function logMapElements(value, key, map) {
    console.log(`m[${key}] = ${value}`);
}
new Map([['foo', 3], ['bar', {}], ['baz', undefined]]).forEach(logMapElements);
Run Code Online (Sandbox Code Playgroud)

对于建议关闭此问题的人员:是的,它类似于有关Array.prototype.forEach的问题。
但是同时又有所不同:大多数建议的答案都不适用于ES6集和地图。仅抛出异常将起作用,但我要求其他方法

javascript ecmascript-6

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