在VS2008中C#实现了属性的自动读取/写入功能。那么这些自动实现的代码在VS2005中如何改写呢?
首先,更改.sln文件
把Format Version 10.00 -> Format Version 9.00
# Visual Studio 2008 -> # Visual Studio 2005
然后,改写geter/seter
// VS2008
public string name { get; private set; }
private string strName; public string name { get { return strName; } private set { this.strName = value; } }
// 类声明
public class MyClass { public string firstName; public string lastName; }
MyClass my = new MyClass() { firstName = "xiao", lastName = "bin" };
MyClass my = new MyClass(); my.firstName = "xiao"; my.lastName = "bin";
VS2008(Console Application)
Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace testProperties { public class MyClass { public string firstName; public string lastName; } class Program { public string name { get; private set; } static void Main(string[] args) { string strName = "My Name: "; MyClass my = new MyClass() { firstName = "xiao", lastName = "bin" }; Program pm = new Program(); pm.name = my.firstName + my.lastName; strName += pm.name; Console.WriteLine(strName); } } }
VS2005(Console Application)
Program.cs
using System; using System.Collections.Generic; using System.Text; namespace testProperty { public class MyClass { public string firstName; public string lastName; } class Program { private string strName; public string name { get { return strName; } private set { this.strName = value; } } static void Main(string[] args) { string strName = "My Name: "; MyClass my = new MyClass(); my.firstName = "xiao"; my.lastName = "bin"; Program pm = new Program(); pm.name = my.firstName + my.lastName; strName += pm.name; Console.WriteLine(strName); } } }
参考文章:
1. Auto-Implemented Properties