我需要幫助瞭解這一點,我做錯了什麼,我的書沒有給出如何處理這個問題的明確解釋,VS2008中的在線幫助也沒有。
你能告訴我如何正確地做到這一點?由於其防護等級而不可訪問?請幫助我
另一個錯誤我得到:
無法創建 抽象類或接口 「Person.Person」
會員Person.Person.rnd」的實例不能 與訪問實例引用; 與類型名稱,而不是
Person.cs
public abstract class Person
{
private string title;
private string firstName;
private string lastName;
private string address;
private string gender;
private string dateOfBirth;
private string userID;
static Random rnd = new Random();
// constructors
public Person()
{
}//end default constructor
public Person(string aTitle, string aFirstName, string aLastName,
string aAddress, string aGender, string aDateOfBirth)
{
title = aTitle;
firstName = aFirstName;
lastName = aLastName;
address = aAddress;
gender = aGender;
dateOfBirth = aDateOfBirth;
}
}
Student.cs
public class Student: Person
{
public override string GenerateUserID()
{
this.userID = firstName.Substring(0, 1) + lastName.Substring(0, 5);
//ERROR HAPPENS HERE
this.userID = this.userID + this.rnd.Next(1000, 9999);
}//end method Generate UserID
}
PersonTest.cs
static void Main(string[] args)
{
//ERROR HAPPENS HERE TOO Cannot Create an instance of the abstract class or interface "Person.Person"
Person testPerson = new Person("Mr.", "Merry ", "Lanes",
" 493 Bluebane RD", "Male", " 8-06-1953 ");
}
'this.rnd.Next(1000,9999).ToString();'也許? – jerone 2010-08-01 15:49:02
@jerone:是的,但如果rnd是私人的話,那仍然行不通。詳情請參閱我的回答。它也是**靜態**所以rnd不能從這個 – 2010-08-01 15:59:34