2009-01-13 9 views
1

Prendre cet article sur les classes et structs comme exemple:Obtenir un paramètre global en C#

http://msdn.microsoft.com/en-us/library/ms173109.aspx

namespace ProgrammingGuide 
{ 
    // Class definition. 
    public class MyCustomClass 
    { 
     // Class members: 
     // Property. 
     public int Number { get; set; } 

     // Method. 
     public int Multiply(int num) 
     { 
      return num * Number; 
     } 

     // Instance Constructor. 
     public MyCustomClass() 
     { 
      Number = 0; 
     } 
    } 
    // Another class definition. This one contains 
    // the Main method, the entry point for the program. 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      // Create an object of type MyCustomClass. 
      MyCustomClass myClass = new MyCustomClass(); 

      // Set the value of a public property. 
      myClass.Number = 27; 

      // Call a public method. 
      int result = myClass.Multiply(4); 
     } 
    } 
} 

suppose que je voulais utiliser le "myClass" défini dans la routine principale ailleurs dans le programme comme s'il s'agissait d'une classe mondiale.

Comment est-ce que je ferais cela?

Répondre

2
static MyCustomClass myClass; 
public static MyCustomClass MyClass {get {return myClass;}} 
static void Main(string[] args) 
{ 
    // Create an object of type MyCustomClass. 
    myClass = new MyCustomClass(); 

    ... 
} 

vous pouvez utiliser Program.MyClass

+0

Alternativement, regardez le modèle singleton: www.pobox.com/~skeet/csharp/singleton.html –

0

Quelque chose comme l'exemple ci-dessous.

class Program 
{ 
    public MyCustomClass myClass; 

    public Program() 
    { 
     // Create an object of type MyCustomClass. 
     myClass = new MyCustomClass(); 

     // Set the value of a public property. 
     myClass.Number = 27; 

     // Call a public method. 
     int result = myClass.Multiply(4); 
    } 

    static void Main(string[] args) 
    { 
     Program program = new Program(); 
    } 
} 
Questions connexes