c# - ILogger 的 CaSTLe Windsor Visual Studio 代码片段

标签 c# visual-studio castle-windsor code-snippets

在 Visual Studio 中,您可以使用代码片段,例如当您编辑一个类时,您可以键入 ctor,默认构造函数将自动添加到您的类中。 是否可以在 Visual Studio 中创建执行以下操作的代码片段:

  • 在光标所在位置创建 get/set Logger 属性。
  • 添加使用 CaSTLe.Core.Logging
  • 让我选择实例变量列表中我可以放置 private ILogger _logger = NullLogger.Instance; 的位置。
public class Person
{
    private string name;
    private int age;

    public Person()
    {
    }

    // cursor is here and you type "logger"
}

在您键入 logger 后,visual Studio 添加以下代码:

using Castle.Core.Logging; // Added by code snippet

public class Person
{
    private string name;
    private ILogger _logger = NullLogger.Instance; // Added by code snippet
    private int age;

    public Person()
    {
    }

    // Added by code snippet
    public ILogger Logger
    {
        get { return _logger; }
        set { _logger = value; }
    }
}

最佳答案

这里有两个很棒的教程How to: Create a Basic Code Snippet & How to: Manage Code Snippets

总结如下,

  1. 创建一个 .snippet 文件;这是一个 XML 文件,其中包含您要添加的代码和引用。基本示例包括除快捷方式之外的所有要求。
  2. 将代码片段导入您的 visual studio 实例。
  3. 尽情使用

如果您愿意,我们很乐意提供示例。

因为我已经创建了代码片段来测试它,所以您需要如下内容。不言而喻,您需要编辑什么以满足您的需求。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
    xmlns="http://schemas.microsoft.com/VisualStudio/2010/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>
        Log4Net instance using Castle.Core.Logging
      </Title>
      <Shortcut>logger</Shortcut>
    </Header>
    <Snippet>
      <References>
        <Reference>
          <Assembly>Castle.Core.Logging.dll</Assembly>
        </Reference>
      </References>
      <Imports>
        <Import>
          <Namespace>Castle.Core.Logging</Namespace>
        </Import>
      </Imports>
      <Code Language="CSharp">
        <![CDATA[private ILogger _logger = NullLogger.Instance;
        public ILogger Logger
    {
        get { return _logger; }
        set { _logger = value; }
    }]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

关于c# - ILogger 的 CaSTLe Windsor Visual Studio 代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214925/

相关文章:

c# - 使用 MVVM 获取 WPF 中的 Textblock 以进行更新

visual-studio - 无法将 Visual Studio 2008 连接到 TFS 2010

visual-studio - Visual Studio 2010关闭选项卡需要8秒钟?

c++ - VC 2012 Release Build遇到启动错误

c# - 使用 Windsor 3 从代码中注入(inject) AppSettings

javascript - 如何将位图从 ASP.NET 传递到 JavaScript 并显示它?

c# - 将 C# 反射代码移植到 Metro-Ui

c# - 4.5.1也是4.0和4.5的就地升级吗?

c# - 温莎城堡 : How do I inject all implementations of interface into a ctor?

c# - IoC 容器的使用;特别是温莎