IMZRH的日志

努力成为一个有用的人

导航

VS2008中应用自动属性报错的解决方法

Posted on 2010-01-27 12:29  张荣华  阅读(1566)  评论(0编辑  收藏  举报

.NET Framework 3.0引入的自动属性可以很方便的减少程序员的代码录入量,如果没有自动属性的话,我们在类中添加一个属性需要这样写:

public class Class1
{
private int age;

public int Age
{
get
{
return this.age;
}

set
{
this.age = value;
}
}
}

但是有了自动属性后,我们就可以这样写了:

public class Class1
{
public int Age
{
get;
set;
}
}

对比上面的两段代码我们不难发现自动属性有效的减少了我们的录入量。在应用自动属性时有一点一定要注意就是framework一定要设为3.0或是3.5,否则编译器会报"must declare a body because it is not marked abstract or extern.[中文为:必须声明主体,因为它未标记为abstract或extern]" 。有时我们即使设置了framework为3.0或3.5,编译时仍会报这个错误[这种情况多发生了对2.0项目的升级时],这时我们只需要在配置文件中加入以下的配置节就可以了:

<system.codedom>
<
compilers>
<
compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<
providerOption name="CompilerVersion" value="v3.5" />
<
providerOption name="WarnAsError" value="false" />
</
compiler>
</
compilers>
</
system.codedom>