[为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]注释来完成的.
我想要一个类似的注释,让我把css类放在一个字符串参数中,并让相同的intellisense出现在css类中.
有一个免费的插件或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似乎都没有此功能.
编辑:我不是在谈论调试器.它当然适用于那个.
我基本上尝试使用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,但这对复杂的报告来说变得难以处理.
简明扼要:
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) 今天我正在研究Magento税收计算如何解释" 基于税收计算方法 "的行为之间的差异.
我深入研究了Mage_Tax_Model_Sales_Total_Quote_Tax,它实现了_unitBaseCalculation,_rowBaseCalculation,_totalBaseCalculation中的所有方法.
我发现他们产生了完全相同的结果.那他们为什么要经历实施它们的麻烦呢?
例如,单位价格计算会计算单个单位的税收,然后将折扣金额除以数量(如果在折扣后应用税额),然后减去两者,然后再乘以数量...这只是引入了舍入误差.
行总计算是最直观的计算(从行"小计"中获取价格)减去折扣金额(如果在折扣后应用税).
而第三个只是第二个的聚合,立即计算.
这只会给税收计算逻辑带来混淆和混淆.任何人都可以阐明为什么这样做了吗?
(舍入错误?向后兼容性?TheDailyWTF奖的候选人?)
编辑:对于记录,这是真正的Magento 1.6和1.7,不知道旧版本.
c# ×3
intellisense ×2
algorithm ×1
alias ×1
asp.net-mvc ×1
autofixture ×1
criteria ×1
html-helper ×1
left-join ×1
magento ×1
nhibernate ×1
nunit ×1
resharper ×1
subquery ×1
testing ×1
tooltip ×1
unit-testing ×1