【问题标题】:Why won't this ReSharper File Template expand as I expect?为什么这个 ReSharper 文件模板没有像我预期的那样扩展?
【发布时间】:2013-06-18 19:45:57
【问题描述】:

我已经在 ReSharper 7.0.1 中设置了这个文件模板

using System;
using System.Collections.Generic;
using System.Linq;
using MyProject.Infrastructure.Messaging;

namespace $NAMESPACE$
{
    public class $CLASS$Command : ICommand<$CLASS$Command.Result>
    {
        $END$

        public class Result
        {

        }
    }


    public class $CLASS$Handler : ICommandHandler<$CLASS$Command, $CLASS$Command.Result>
    {
        public $CLASS$Command.Result Process($CLASS$Command c)
        {

            var result = new $CLASS$Command.Result {};
            return result;
        }
    }
}

当我基于模板创建文件时,只有一些 $CLASS$ 变量实例被正确填充。在 $CLASS$Command.Result 中使用 $CLASS$ 的情况下,$CLASS$ 被替换为字母 a 而不是预期值,就像这样。

using System;
using System.Collections.Generic;
using System.Linq;
using MyProject.Infrastructure.Messaging;

namespace MyProject.Domain.AnEntity.Commands
{
    public class Test2Command : ICommand<aCommand.Result>
    {


        public class Result
        {

        }
    }


    public class Test2Handler : ICommandHandler<Test2Command, aCommand.Result>
    {
        public aCommand.Result Process(Test2Command c)
        {

            var result = new aCommand.Result {};
            return result;
        }
    }
}

我看不出这不起作用的原因。有谁知道我在这里做错了什么?

【问题讨论】:

  • 您的模板适用于 ReSharper 5.1.3。

标签: resharper


【解决方案1】:

这显然是某些 ReSharper 版本中的错误,据我所知,目前正在排队等待修复。

http://youtrack.jetbrains.com/issue/RSRP-334501

【讨论】:

    【解决方案2】:

    尝试将$END$ 放在&gt; 之前。

    public class $CLASS$Command : ICommand&lt;$CLASS$Command.Result$END$&gt;

    这对我来说是一种解决方法 (R# 7.1.3)。

    【讨论】:

    • 这使得 $CLASS$Command.Result 的一个实例(紧接在 $END$ 之前)正确填写,但文档中后面的其他两个实例仍然输出为“aCommand.Result”。如果我将 $END$ 放在不同的位置,我会得到一些稍微不同的结果,但是我还没有找到一个可以让所有实例正确输出的 $END$ 位置。
    猜你喜欢
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 2023-04-10
    • 2011-07-04
    • 2010-11-15
    • 1970-01-01
    相关资源
    最近更新 更多