![](/img/trans.png)
[英]Can Visual Studio 2010 find and replace version number pre-build?
[英]Pre-build in Visual Studio 2010
是否有可能在Pre-build事件中运行C#函数并将函数调用替换为常量值?
例如:
class A{
A(){
var aVar = B.Func1("a");
}
}
class B{
static String Func1(String str){
//Do some things
return str;
}
}
预建活动后:
class A{
A(){
var aVar = "A";
}
}
class B{
public static String Func1(String str){
//Do some things
return str;
}
}
这与“预构建事件”无关。 这是编译期间编译器可能会或可能不会应用的优化。
在定位.NET Framework时,您需要添加额外的优化复杂性层。 当您最初将代码编译为IL时,C#编译器不会执行许多可能的优化,而是在代码执行之前(当IL编译为本机代码时)由JIT编译器执行。
是的,JIT编译器肯定会尽可能地应用这样的简单优化来内联函数调用。 对于任何优化器来说,这都是低调的结果。 (虽然,有些情况下内联函数可以使事情变慢 ,优化器通常足够聪明地认识到这一点。你应该始终相信优化器,而不是试图强迫它做你认为合理的事情。它通常比您。)
您的重点应该是编写清晰易读/维护的代码。 不要担心如何优化它,直到你分析它并确定它太慢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.