PDA

View Full Version : حرفه ای: تبدیل رشته به کلاس



Mohammad_dn
جمعه 02 اسفند 1398, 21:46 عصر
سلام
من یک کتابخونه برای کار با تاریخ شمسی نوشتم که مشابه DateTime خود دات نت هست
چیز های:

adddays
addmonth
addyear
تفریق دو تاریخ شمسی
مقایسه ی دو تاریخ
و...


حالا مشکلی که دارم اینه که:
فرض کنید در mvc اکشنی مثل زیر ایجاد میکنیم:

Public void GetDate(DateTime dt){
Response.Write(dt.ToString())
}


حالا این ادرس رو به صورت زیر فراخانی میکنیم:
http://localhost/Home/GetDate?dt=2020/02/02

این متغیر dt که الان در ادرس به صورت یک متن ارسال کردیم خود به خود به DateTime تبدیل میشه در اکشن
اما اگه اکشن رو به صورت زیر بنویسیم:

Public void GetDate(PersianDate dt){
Response.Write(dt.ToString())
}



و مجددا ادرس رو به صورت زیر فراخانی کنیم:
http://localhost/Home/GetDate?dt=1398/12/02

حالا اون متقیر dt نول هست

میخوام بدونم در اونجا چطور یه رشته تبدیل شده به DateTime اما در اینجا تبدیل نشده
این رو هم اضافه کنم که کلاس PersianDate تا حد زیادی به کلاس DateTime شبیه هست.

ممنون

ROSTAM2
شنبه 03 اسفند 1398, 07:51 صبح
سلام. منظورتون از شباهت کلاس ها چیه؟ - یا کلاس باید موروثی باشه یا CType Operator (تبدیل به کلاس DateTim) رو به کلاس اضافه کرده باشید.
اگر هم مشکل از تبدیل به رشته باشه باید یک CType برای تبدیل به رشته به کلاست اضافه کنی.
احتمالا مقدار dt که بعنوان ورودی فراخوانی می کنید. نوع محتواش DateTime هست برا همین جواب می گیرید نه از کلاس خودتون.

Mohammad_dn
شنبه 03 اسفند 1398, 23:05 عصر
منظورتون از شباهت کلاس ها چیه؟
منظورم از نظر متد ها و پارامتر هاست


احتمالا مقدار dt که بعنوان ورودی فراخوانی می کنید. نوع محتواش DateTime هست برا همین جواب می گیرید نه از کلاس خودتون.
خب وقتی من یه تاریخو ارسال میکنم به اکشن خود به خود تبدیل به نوع datetime میشه...اما وقتی یه تاریخو ارسال میکنم به اکشن دوم تاریخ خود به خود تبدیل نمیشه به persiandate میخوام بدونم تو datetime چه اتفاقی میفته که خود به خود تبدیل میشه اما اینجا نمیشه

ROSTAM2
یک شنبه 04 اسفند 1398, 07:56 صبح
ما که نمی دونیم کلاستو به چه شیوه نوشتی! کلاس dateTime برای برنامه تعریف شده است. تبدیل شدن کلاس ها به انواع محتوای دیگه دستور می خواد.