Csharp/C Sharp/Class Interface/readonly
Версия от 18:31, 26 мая 2010; (обсуждение)
Содержание
Demonstrate readonly
<source lang="csharp"> /* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852
- /
// Demonstrate readonly.
using System;
class MyClass {
public static readonly int SIZE = 10;
}
public class DemoReadOnly {
public static void Main() { int[]nums = new int[MyClass.SIZE]; for(int i=0; i<MyClass.SIZE; i++) nums[i] = i; foreach(int i in nums) Console.Write(i + " "); // MyClass.SIZE = 100; // Error!!! can"t change }
}
</source>
ReadOnly Fields
<source lang="csharp"> using System; using System.Collections.Generic; using System.Text; class Tire {
public static readonly Tire GoodStone = new Tire(90); public static readonly Tire FireYear = new Tire(100); public int manufactureID; public Tire() { } public Tire(int ID) { manufactureID = ID; }
} class Employee {
public readonly string SSN; public Employee(string empSSN) { SSN = empSSN; }
} class Program {
static void Main(string[] args) { Tire myTire = Tire.FireYear; Console.WriteLine("ID of my tire is: {0}", myTire.manufactureID); Employee e = new Employee("111-22-1111"); // e.SSN = "222-22-2222"; // error! }
}
</source>
Readonly Property
<source lang="csharp"> using System; //VersionTest public class VersionReporter {
public static string version { get { return "2.0.0.0"; } } public VersionReporter() { }
}
class VersionOutput {
static void Main(string[] args) { string ver = VersionReporter.version; Console.WriteLine("Using version {0}", ver); }
}
</source>
The use of readonly fields
<source lang="csharp"> /* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110
- /
/*
Example6_3.cs illustrates the use of readonly fields
- /
// declare the Car class class Car {
// declare a readonly field public readonly string make; // declare a static readonly field public static readonly int wheels = 4; // define a constructor public Car(string make) { System.Console.WriteLine("Creating a Car object"); this.make = make; }
}
public class Example6_3 {
public static void Main() { System.Console.WriteLine("Car.wheels = " + Car.wheels); // Car.wheels = 5; // causes compilation error // create a Car object Car myCar = new Car("Toyota"); System.Console.WriteLine("myCar.make = " + myCar.make); // myCar.make = "Porsche"; // causes compilation error }
}
</source>