PDA

View Full Version : دسترسی به متدی که در کلاس پایه abstract تعریف شده و در کلاس مشتق شده override شده



nafisehk
چهارشنبه 10 مهر 1392, 14:53 عصر
سلام

من نمیتونم به متدایی که تو کلاس پایه abstract ـعریف شده و تو کلاس مشتق شده override شده " تو کلاس مشتق شده دسترسی داشته باشم ) چرا؟؟؟؟

کد



abstract public class Contact : PhoneBook



{


public enum ContactType



{

Contact,

User,

group,

Person,

LegalPerson

}




abstract public bool IsExist(string TableName,string FieldName,string FiledContent,ContactType myContactType);

abstract public DataTable ReadContacts(int CurrentPageNumber, bool fDirection,Logic.Contact.ContactType myContactType);

abstract public DataTable SearchContacts(int CurrentPageNumber, bool fDirection, Logic.Contact.ContactType myContactType,string SearchText);



}










[/CSHARP]

publicoverridebool IsExist(string FieldContent,Contact.ContactType myCoontactType)



{


DataTable myDataTable = newDataTable();

string TableName;

string FieldName;

if (myCoontactType == Contact.ContactType.Contact)



{


TableName = "ContactInfoInfo";

FieldName = "cntName";

myDataTable = DataAccess.Access.IsExist(TableName, FieldName, FieldContent);



}


elseif (myCoontactType == Contact.ContactType.group)



{


TableName = "";

FieldName = "";

myDataTable = DataAccess.Access.IsExist(TableName, FieldName, FieldContent);



}


if (myDataTable.Rows.Count == 0)



{


returnfalse;



}


returntrue;



}


:|

fjm11100
چهارشنبه 10 مهر 1392, 16:06 عصر
اگه متد استاتیک نباشه نمیشه چون وقتی نمونه از کلاست نساختی که نمیشه دسترسی داشت کلاس انتزاعی هم قابل نمونه سازی نیست

Kubuntu
چهارشنبه 10 مهر 1392, 17:51 عصر
در کلاس مشتق شده کافیه بنویسی:
base.methodName();
methodName همان اسم متد شماست که باید جاش بذاری

nafisehk
چهارشنبه 10 مهر 1392, 19:26 عصر
اگه متد استاتیک نباشه نمیشه چون وقتی نمونه از کلاست نساختی که نمیشه دسترسی داشت کلاس انتزاعی هم قابل نمونه سازی نیست

اره یه نمونه ساختم درست شد اما وقتی تو خود کلاسم نباید دسترسی مستقیم داشته باشم؟