কেন রিশার্পার এই কোডটির জন্য আমাকে বিচার করছেন?
private Control GetCorrespondingInputControl(SupportedType supportedType, object settingValue)
{
this.ValidateCorrespondingValueType(supportedType, settingValue);
switch(supportedType)
{
case SupportedType.String:
return new TextBox { Text = (string)settingValue };
case SupportedType.DateTime:
return new MonthPicker { Value = (DateTime)settingValue, ShowUpDown = true };
default:
throw new ArgumentOutOfRangeException(string.Format("The supported type value, {0} has no corresponding user control defined.", supportedType));
}
}
private void ValidateCorrespondingValueType(SupportedType supportedType, object settingValue)
{
Type type;
switch(supportedType)
{
case SupportedType.String:
type = typeof(string);
break;
case SupportedType.DateTime:
type = typeof(DateTime);
break;
default:
throw new ArgumentOutOfRangeException(string.Format("The supported type value, {0} has no corresponding Type defined.", supportedType));
}
string exceptionMessage = string.Format("The specified setting value is not assignable to the supported type, [{0}].", supportedType);
if(settingValue.GetType() != type)
{
throw new InvalidOperationException(exceptionMessage);
}
}
দ্বিতীয় পদ্ধতি ভ্যালিডেটপ্রেসিংভালিউটিটাইপের "সেটিংওয়ালু" প্যারামিটারটি রিশার্পার দ্বারা নিম্নলিখিত বার্তার সাথে ধূসর করা হয়েছে: "পরামিতি 'সেটিংওয়ালু' কেবল পূর্বশর্ত চেক (গুলি) এর জন্য ব্যবহৃত হয়।"
exceptionMessage
if