سلام دوستان من یک پروژه جدید باز کردم و این کد رو داخلش نوشتم:
public void ExampleClass(string name = "Default name")
{
}
اما خطای زیر رو میده علت چیه؟؟؟؟
Error 1 Default parameter specifiers are not permitted
سلام دوستان من یک پروژه جدید باز کردم و این کد رو داخلش نوشتم:
public void ExampleClass(string name = "Default name")
{
}
اما خطای زیر رو میده علت چیه؟؟؟؟
Error 1 Default parameter specifiers are not permitted
مگه تو C# هم می شه پارامتر اختیاری تعریف کرد؟!
احتمالاً از نسخه 4 زبان #C استفاده نمی کنید!
برای حل این مشکل به صورت زیر عمل کنید:
public void ExampleMethod()
{
ExampleMethod("Default Name");
}
public void ExampleMethod(string Name)
{
//TODO:
}
امیدم به دستان زیبای اوست . آنکه می آید . همان که نامش منجی ست ....
به راستی اگر غرق نبودیم چرا مارا به منجی ای نیازمند کرده اند؟ ... دنیا دریاست ....
دلنوشته های من
آخرین ویرایش به وسیله navidkhalilian : شنبه 01 مرداد 1390 در 15:55 عصر
با سلام
Optional parameters در کامپایلر 2010 ( C#4) تعریف شدند و در نسخه های پایین تر این امکان وجود ندارد
این رو هم در نظر داشته باشیه که Optional parameters در هر نسحه ای از framework قابل دستیابی هست ولی با این امکان که از vs2010 یا بهتر بگم کامپایلر 2010 استفاده بکنید
موفق باشید
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
چرا جواب نده؟ خوب هم جواب میده!دوست عزیزی این روشی که شما گفتید Overload هست و برای توابع ایستا مثل تابع زیر که من نوشتم جواب نمیده.یا شاید من بلد نیستم
public static void ExampleMethod()
{
ExampleMethod("Default Name");
}
public static void ExampleMethod(string Name)
{
//TODO:
}
امیدم به دستان زیبای اوست . آنکه می آید . همان که نامش منجی ست ....
به راستی اگر غرق نبودیم چرا مارا به منجی ای نیازمند کرده اند؟ ... دنیا دریاست ....
دلنوشته های من
بله، من از 3.5 استفاده می کنم! ممنون از راهنماییتون. ولی روشی که آقای باقری گفتند، همون overload هستش، که در حالت static هم جواب میده و ربطی به C# 4 نداره.احتمالاً از نسخه 4 زبان #C استفاده نمی کنید!
یعنی منظورتون اینه که مثلا تو 2010، ftamework رو پایین تر از 4 انتخاب کنیم، باز هم میشه؟!این رو هم در نظر داشته باشیه که Optional parameters در هر نسحه ای از framework قابل دستیابی هست ولی با این امکان که از vs2010 یا بهتر بگم کامپایلر 2010 استفاده بکنید
بله دوست عزیز.یعنی منظورتون اینه که مثلا تو 2010، ftamework رو پایین تر از 4 انتخاب کنیم، باز هم میشه؟!
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»