SajjadKhati
کاربر فعال <A href="http://forum.majidonline.com/f
مشکل از BindingFlags نیست، از ()GetType ئه. کلاسی که شما ساخته اید خودش که فیلد private ای به نام dialogResult_ نداره، وارث کلاسی است که اون فیلد رو داره. فیلد private هم که در وراثت دخالتی نداره.
به جای ()GetType از typeof(Xceed.Wpf.Toolkit.MessageBox) استفاده کنید.
خیلی ممنون استاد .
استاد ، پس چرا درون کلاسِ AlarmBox (ای که نوشتم که والدش Xceed.Wpf.Toolkit.MessageBox هست) ، بجای this.GetType ، از base.GetType هم استفاده کردم ، باز همین مشکل را داره اما به قول شما از عملگر typeof(Xceed.Wpf.Toolkit.MessageBox) که استفاده کردم ، درست شد؟
بعد اینکه چرا اتریباتسِ [EditorBrowsable(EditorBrowsableState.Never)] را برای متدِ ShowMessageBox درون کلاس AlarmBox استفاده میکنم ، باعث نمیشه که شی ای که از AlarmBox ساخته میشه ، در ویرایشگر و اینتلیسنس ، متد ShowMessageBox ، پنهان بشه؟ :
C#:
[EditorBrowsable(EditorBrowsableState.Never)]
public new void ShowMessageBox()
{
}
اما قبلا در جریان ساخت کنترل TransparentControl ، این کد را که استفاده میکردم ، باعث میشد اون متدی که در والدش تعریف شده بود ، زمانی که شی ای از فرزندش میساختیم ، از اینتلیسنس پنهان بمونه .
----------------------------
استاد یه سئوال شرعی در این باره (هر چند ربطی به این موضوع نداره و صرفا نظر شخصی تون را میخوام بدونم) .
اینکه الان من که دارم بخشی از کدهای اعضای کلاس Xceed.Wpf.Toolkit.MessageBox را کپی میکنم (از طریق نرم افزار ILSpy) و همچنین از اعضای private ئه این کلاس ، برای کلاسِ AlarmBox ام استفاده میکنم ، مشکل شرعی داره؟ درست میگم؟
به نظرتون بی خیالِ این کار بشم و خودم کد را از اول بنویسیم؟
اگه از اول بنویسم ، به نظر میاد کار خیلی سخت تر بشه .
تشکر استاد