سلام
چه طوری یه کلاس private تعریف کنم؟
چندتا کلاس تعریف کردم حالا می خوام یکی را private کنم ولی
Error 1 Elements defined in a namespace cannot be explicitly declared as private, protected, or protected internal
سلام
چه طوری یه کلاس private تعریف کنم؟
چندتا کلاس تعریف کردم حالا می خوام یکی را private کنم ولی
Error 1 Elements defined in a namespace cannot be explicitly declared as private, protected, or protected internal
public class ClassA
{
public MethodA()
{
<some code>
myObjectClassB.DoSomething(); // ClassB is only used by ClassA
<some code>
}
}
public class ClassB
{
public DoSomething()
{
}
}
________________________________________-
public class ClassA
{
public MethodA()
{
<some code>
myObjectClassB.DoSomething(); // Class B is only used by ClassM
<some code>
}
private class ClassB
{
public DoSomething()
{
}
}
}
کلاس private را فقط داخل یک کلاس دیگر می تونید تعریف کنید و فقط در آن کلاس هم قابل استفاده می باشد و گرنه بی معنی می شود (کلاسی که جایی قابل استفاده نیست)
با سلام
دوست عزیز آقای gwbasic ممنون از مقالاتی که در این سایت قرار می دهید من واقعا خیلی چیز ها از شما یاد گرفته ام
یک سوالی داشتم
این private class به چه دردی می خورد. آیا نمی شود همین کار را در یک متد انجام داد؟
کلاس private کاربرد کمی دارد. اگر فکر می کنید که کلاسی دارید که فقط و فقط در یک کلاس دیگر قابل استفاده هست می تونید آن کلاس را در داخل کلاس دیگر به صورت private تعریف کنید. و معمولا اینطور نیست و کلاسهای که می سازیم کاربردهای بیشتری دارند.
نکته خاصی ندارد. به اون مثال خاصی که زدید توجه نکنید فقط یک مثال است برای مفهوم private وگرنه مطمئنا می شود فقط اون متدی که داخل کلاس تعریف شده رو در کلاس B تعریف کرد.
دقت کنید که از یک کلاس برای بسته بندی یکسری اطلاعات مربوط به هم (شی) استفاده می شود.
از زمان دبیرستان که با وبی 6 کار می کردم همیشه Dll و Ocx برای انجام کاراهام می سازم
مثل کار با ریجستر ویرایش عکس اتصال به پایگاه داده الگوریتم های رمزنگاری و غیرو ...
همون قانون خودمون یک بار بنویس هزار بار استفاده کن
حالا برای ایجاد کار جدید فقط کافی هستش کارهای گذشته رو کنار هم بگذارم شده بعضی برنامه هام از Dll های استفاده می کنه که هرکدومش به یک زبان متفاوتی نوشته شده
خوب طبیعی هستش که وقتی کاربر فضای نام رو می نویسه نخوام بعضی از کلاس ها نمایش داده بشه