【问题标题】:How to substitute a return value based on the return type of a method with Resharper Macros?如何使用 Resharper 宏根据方法的返回类型替换返回值?
【发布时间】:2014-08-01 15:18:02
【问题描述】:

所以我创建了一个基本的 resharper 模板,它为我创建了 Nunit 结构。

    [Test]
    public void $Method$_ShouldCall_service_$Method$()
    {
        //arrange
        $END$
        //act
        var result = _sut.$Method$($parameter$);

        //assert
        _serviceFake.AssertWasCalled(x => x.$Method$($parameter$));
    }

如果返回类型为:

    _sut.$Method$($parameter$);

是无效的我希望结果是:

    [Test]
    public void $Method$_ShouldCall_service_$Method$()
    {
        //arrange
        $END$
        //act
        _sut.$Method$($parameter$);

        //assert
        _serviceFake.AssertWasCalled(x => x.$Method$($parameter$));
    }

Based on this post我可以得到方法的返回类型。问题是如何删除:

    var result = 

【问题讨论】:

    标签: resharper


    【解决方案1】:

    很遗憾,这是无法做到的。 Live Template 机制不支持条件插入。这意味着您需要另一个 Live Template 宏来检查包含类型是否为 void,如果是,则生成空字符串,否则生成 return(不要忘记空格)。

    您应该可以像以前一样使用GetPresentableName,只需将其与void 进行比较。然后,您应该能够像以前一样构造并返回TextLookupItem

    【讨论】:

      猜你喜欢
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      相关资源
      最近更新 更多