2009-10-22 7 views
0

dans ASP.NET C#., Comment puis-je définir les valeurs variables d'une classe statique à partir de la valeur présente dans une classe non statique .edx: J'ai une classe statique appelée staticA et une classe non statique appelée B qui hérite de system.WEb.UI.Page. J'ai quelques valeurs présentes dans la classe B, que je veux définir comme la valeur de la propriété de la classe statique A afin que je puisse l'utiliser tout au long du projetAccès à la valeur d'une classe statique dans une classe statique

Des pensées?

Répondre

3
staticA.AValue = b.BValue 
+0

est-ce que b est l'objet de la classe B? – Shyju

+0

Oui, il est, vous pouvez écrire juste BValue si vous êtes dans la méthode de la classe B –

2

L'approche « appropriée » serait de passer votre spécifique par exemple de B (ne pas confondre une classe et ses instances !!!) à une méthode de A qui copiera toutes les propriétés (ou d'autres valeurs) il doit.

1

Voir exemple suivant:

public static class staticA 
{ 
    /// <summary> 
    /// Global variable storing important stuff. 
    /// </summary> 
    static string _importantData; 

    /// <summary> 
    /// Get or set the static important data. 
    /// </summary> 
    public static string ImportantData 
    { 
     get 
     { 
      return _importantData; 
     } 
     set 
     { 
      _importantData = value; 
     } 
    } 
} 

et ClassB

public partial class _classB : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     // 1. 
     // Get the current ImportantData. 
     string important1 = staticA.ImportantData; 

     // 2. 
     // If we don't have the data yet, initialize it. 
     if (important1 == null) 
     { 
      // Example code only. 
      important1 = DateTime.Now.ToString(); 
      staticA.ImportantData = important1; 
     } 

     // 3. 
     // Render the important data. 
     Important1.Text = important1; 
    } 
} 

Hope, ça aide.

Questions connexes