You can use readonly values for instance constants, storing different values for each instance of a class type. Compile-time constants are, by definition,
static constants.
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace EffectiveCSharpItem2
7 {
8 public class Person
9 {
10 public readonly int age;
11
12 public Person(int age)
13 {
14 this.age = age;
15 }
16
17 public int Age
18 {
19 get { return this.age; }
20 }
21 }
22
23 class Program
24 {
25 static void Main(string[] args)
26 {
27 Person p1 = new Person(25);
28 Person p2 = new Person(26);
29 Console.WriteLine(p1.Age);
30 Console.WriteLine(p2.Age);
31
32 Console.Read();
33 }
34 }
35 }