2012-10-17 36 views
4

我试图做一些类似于ASP.NET的User.Identity.Name。我已经让这个类保存了这些信息,但是我不知道如何写入这个变量,因为我只添加了get {};写入一个只读存取器c#

private static string _firstName; 
public static string FirstName 
{ 
    get { return _firstName; } 
} 
+1

要么添加二传手,或不写它... –

回答

2
public class YourAwesomeClass 
    { 
     private static string _firstName; 
     public static string FirstName 
     { 
      get { return _firstName; } 
     } 
    public YourAwesomeClass(string firstName) 
    { 
    _firstName=firstName; 
    } 
    } 

,或者你如果是使用DOTNET 3.0或更高版本,你可以使用自动属性,编译器将自动为您创建支持字段。

public class YourAwesomeClass 
     { 

      public static string FirstName 
      { 
       get;private set; 
      } 
     public YourAwesomeClass(string firstName) 
     { 
     FirstName=firstName; 
     } 
     } 
+0

'this'?它是一个静态的领域。 – DarthVader

+0

ahh.thanks的信息,只是编辑。 – crypted

+0

是的,它属于类没有一个实例 – DarthVader

3

有2种方法可以做到这一点。第一种方法是添加一个私人setter。

private static string _firstName; 
public static string FirstName 
{ 
    get { return _firstName; } 
    private set { _firstName = value; } 
} 

另一种选择是向您的构造函数中添加一个参数并在其中设置值。

public YourClass(string firstName) 
{ 
    _firstName = firstName; 
} 
0

写二传手梅索德:

public static string FirstName 
{ 
    get { return _firstName; } 
    set { _firstName = value; } 
}