View Full Version : سوال: تبدیل یک نوع به نوعی دیگر در سی شارپ
odiseh
شنبه 04 شهریور 1396, 11:29 صبح
سلام دوستان
چرا این تبدیل درسته و حالا که درسته قانون کلی اش چیه؟
var strings = new List <String >();
var mynewString = (IList <String>) strings;
در مورد قانون کلی این تبدیل میشه لطفا یه مثال بزنید؟
Mahmoud.Afrad
شنبه 04 شهریور 1396, 12:12 عصر
هر نمونهای از یک کلاس را میتوانید به کلاس پایه و یا اینترفیسهایی که پیادهسازی کردهاست ، cast کنید.
کلاس List<T> اینترفیس IList<T> را پیادهسازی کرده و این تبدیل مجاز هست
https://msdn.microsoft.com/en-us/library/6sh2ey19.aspx#Syntax
بعد از cast فقط به اجزای اینترفیس و یا کلاسی که بهش تبدیل رو انجام دادید دسترسی دارید و اجزای اینترفیسهای دیگر در دسترس نیست یعنی ممکنه یکسری متد و ... دیگه در دسترستون نباشه.
odiseh
یک شنبه 05 شهریور 1396, 03:32 صبح
خیلی ممنون از راهنمایی تون
odiseh
دوشنبه 06 شهریور 1396, 23:54 عصر
دوست گرامی من یه سوال دیگه ام دارم:
اساسا چرا باید یک نوع رو به نوع پایه اش cast کنیم که بقول شما برخی از خصوصیات و متدهایی خودش رو از دست میدیم و فقط به اعضاء کلاس یا اینترفیس پایه اش دسترسی داریم خوب؟
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.