小编Rai*_*tef的帖子

你如何告诉Resharper方法参数是一个包含CSS类的字符串?

[为css类的HTMLHelper属性启用intellisense]

我有这个HTMLhelper:

public IHtmlString MyTextBoxFor<TModel, TProperty>(
    this HtmlHelper<TModel> html, 
    Expression<Func<TModel, TProperty>> propertyExpression, 
    string cssClass)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我希望Resharper在传递"cssClass"参数的值时为我的应用程序中定义的CSS类提供IntelliSense.

Resharper可以识别一些代码注释属性,但没有一个与将方法参数标记为CSS类直接相关.

我能找到的最接近的是[HtmlAttributeValue(字符串名称)].我试着像这样申请cssClass参数:

public IHtmlString MyTextBoxFor<TModel, TProperty>(
    this HtmlHelper<TModel> html, 
    Expression<Func<TModel, TProperty>> propertyExpression, 
    [HtmlAttributeValue("class")] string cssClass)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.如果Resharper能够识别输入的类并且停止在jQuery选择器表达式中操作未知的CSS类(在上面的帮助器生成的文本框上操作),这也将是非常棒的.

编辑: 这是一个智能感知的屏幕截图,它适用于动作方法的"htmlAttributes"参数.这是通过在参数上使用[HtmlElementAttributes]注释来完成的.

Resharper htmlAttributes intellisense

我想要一个类似的注释,让我把css类放在一个字符串参数中,并让相同的intellisense出现在css类中.

c# asp.net-mvc resharper intellisense html-helper

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

Visual Studio Free插件或resharper插件在工具提示中显示常量值

有一个免费的插件或resharper插件,当你将鼠标悬停在对它的引用上时,它会让我看到一个常量值的实际值吗?

由于编译器强制const字段或属性是具体的编译时常量,因此在工具提示中直接显示它是合乎逻辑的.

例如:

 
   const int DISPLAY_MODE_SIMPLE = 0x02;
   const int DISPLAY_MODE_ADVANCED = 0x04;

   void DoSomething(int displayMode) 
   {
      if (displayMode == DISPLAY_MODE_SIMPLE) {
         ShowSimpleDialog();
      }
   }

我想将鼠标悬停在DISPLAY_MODE_SIMPLE上,并在工具提示中看到:int MyType.DISPLAY_MODE_SIMPLE = 0x02

我最近处理的是很多不使用Enums的代码(用IKVMC转换的Java),并且在使用它来检查旧代码时不断地来回走动是非常恼人的.

ReSharper 5和Visual Studio 2010似乎都没有此功能.

编辑:我不是在谈论调试器.它当然适用于那个.

c# intellisense tooltip visual-studio

21
推荐指数
2
解决办法
1860
查看次数

NHibernate 2.1:使用Alias(ICriteria)在SubQuery上进行LEFT JOIN

我基本上尝试使用NHibernate ICriteria接口创建此查询:

SomeTable 1:n AnotherTable

SomeTable有列:PrimaryKey,NonAggregateColumn
AnotherTable有列:PrimaryKey,ForeignKey,AnotherNonAggregate,YetAnotherNonAggregate

SELECT 
      table1.NonAggregateColumn, 
      subquery.SubQueryAggregate1, 
      subquery.SubQueryAggregate2
FROM 
      SomeTable AS table1
      LEFT JOIN
      (
          SELECT 
                table2.ForeignKey,
                COUNT(table2.AnotherNonAggregate) AS SubQueryAggregate1,
                AVG(table2.YetAnotherNonAggregate) AS SubQueryAggregate2
          FROM AnotherTable AS table2
          GROUP BY (table2.ForeignKey)
      ) AS subquery ON subquery.ForeignKey = table1.PrimaryKey
Run Code Online (Sandbox Code Playgroud)

很明显,使用Projection子查询效率不高,因为SQL必须扫描两次表(每个聚合一个投影子查询).

使用多个GROUP BY也不高效.

这有解决方案吗?到目前为止,我一直在使用原始SQL,但这对复杂的报告来说变得难以处理.

nhibernate alias criteria subquery left-join

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

InlineAutoDataAttribute 但用于 NUnit(用于 TestCase 和 TestCaseSource)

简明扼要:

class AutoMoqDataAttribute : AutoDataAttribute
{
    public AutoMoqDataAttribute() : base(new Fixture().Customize(new AutoMoqCustomization()))
    {
    }
}

public interface IWeapon { bool LaunchAtEarth(double probabilityOfHitting); }

public class DeathStar
{
    readonly IWeapon _weapon;

    public DeathStar(IWeapon weapon) // guard clause omitted for brevity
    {
        this._weapon = weapon;
    }

    public bool FireFromOrbit(double probabilityOfHitting)
    {
        return this._weapon.LaunchAtEarth(probabilityOfHitting);
    }
}

// Make me pass, pretty please with a cherry on the top
[Test, AutoMoqData]
[TestCase(0.1), TestCase(0.5), TestCase(1)]
public void AutoMoqData_should_fill_rest_of_arguments_that_are_not_filled_by_TestCase(
    double probabilityOfHitting,
    [Frozen] Mock<IWeapon> weapon,
    DeathStar platform) …
Run Code Online (Sandbox Code Playgroud)

c# testing nunit unit-testing autofixture

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

Magento为什么要3种税收计算方法?

今天我正在研究Magento税收计算如何解释" 基于税收计算方法 "的行为之间的差异.

我深入研究了Mage_Tax_Model_Sales_Total_Quote_Tax,它实现了_unitBaseCalculation,_rowBaseCalculation,_totalBaseCalculation中的所有方法.

我发现他们产生了完全相同的结果.那他们为什么要经历实施它们的麻烦呢?

例如,单位价格计算会计算单个单位的税收,然后将折扣金额除以数量(如果在折扣后应用税额),然后减去两者,然后再乘以数量...这只是引入了舍入误差.

行总计算是最直观的计算(从行"小计"中获取价格)减去折扣金额(如果在折扣后应用税).

而第三个只是第二个的聚合,立即计算.

这只会给税收计算逻辑带来混淆和混淆.任何人都可以阐明为什么这样做了吗?

(舍入错误?向后兼容性?TheDailyWTF奖的候选人?)

编辑:对于记录,这是真正的Magento 1.6和1.7,不知道旧版本.

algorithm magento

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