28-07-2010, 16:09
|
|
|
|
חבר מתאריך: 30.08.09
הודעות: 2,880
|
|
הרשאות ברירת מחדל למתודות ומחלקות?
קראתי שבC# הרשאת ברירת המחדל למתודות/מאפיינים היא internal, ומשמעותה היא שהמתודה/מאפיין המוגדר תחת הרשאה זו יהיה נגיש בתוך כל מחלקה שלא מחוץ לnamespace הנתון.
כתבתי קוד שכזה:
קוד:
namespace test
{
class cls
{
static void Main()
{
Console.WriteLine("Hello, i'm from test.cls.Main()");
foo.bar.lala();
}
}
}
namespace foo
{
internal class bar
{
internal static void lala()
{
Console.WriteLine("Hello, i'm from foo.bar.lala()");
}
}
}
:אין שגיאה בקומפילציה והפלט הוא
ציטוט:
Hello, i'm from test.cls.Main()
Hello, i'm from foo.bar.lala()
|
אם אני מסיר את ההצהרה על ההרשאה, דבר שלא אמור להוות שינוי כי במילא זו ברירת המחדל
מתקבלת שגיאה (כפי שהייתה אמורה להתקבל גם בדוגמה הקודמת).. וזה לא כלכך ברור לי
ציטוט:
Error 1 'foo.bar.lala()' is inaccessible due to its protection level
|
אפשר לקבל קצת עזרה בנושא?
|