Csharp/C Sharp/Class Interface/readonly

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>