كار با كلاسهاي static و ارسال ان به توابع
سلام
من يك كلاس ساختم به اين صورت
public static class EmailType
{
public static readonly int StoregEmail1 = 1;
}
حالا يك تابع ساختم گه وروديش از نوع اين كلاس هستش
private void Func(EmailType Emt)
{
}
اين تابعو به اين صورت فراخواني ميكنم
Func(EmailType.StoregEmail1);
ولي خطا ميده كه اين تابع ورودي EmailType ميگيره نه ورودي int :گیج:
چطور ميتونم يك كلاس بسازم و پاسش بدم به تابع؟
نقل قول: كار با كلاسهاي static و ارسال ان به توابع
خب درست میگه شما در پارامترهات فقط یک کلاس رو به عنوان آرگومان این تابع تعریف کردی ضمنا فکر نکنم کارت درست باشه که بخوای یک کلاس اساتیک رو به عنوان ورودی یک تابع بگیری چون نمیتونی ازش نمونه بگیری؟!!!
نقل قول: كار با كلاسهاي static و ارسال ان به توابع
نه
اصلا يه طور ديگه بيان ميكنم
شما كلاس Color رو حتما ديديد
اين كلاس رو ميشه بعنوان ورودي به تابع فرستاد
و برا صدا زدن مينويسين Color.Red
من يه كلاس شبيه به اين نياز دارم
نقل قول: كار با كلاسهاي static و ارسال ان به توابع
درود بر شما
شما باید متد Func رو هم static تعریف کنید. وقتی کلاس شما Static هست حتما باید اعضای اون کلاس (Properties و Methods) هم Static تعریف بشوند.
کلمه Static رو قبل از کلمه Func بنویسید درست میشه.
نقل قول: كار با كلاسهاي static و ارسال ان به توابع
نقل قول:
نوشته شده توسط
hamid_hr
نه
اصلا يه طور ديگه بيان ميكنم
شما كلاس Color رو حتما ديديد
اين كلاس رو ميشه بعنوان ورودي به تابع فرستاد
و برا صدا زدن مينويسين Color.Red
من يه كلاس شبيه به اين نياز دارم
سلام دوست عزیز.
ساختار Color به صورت static تعریف نشده! بلکه خصوصیات static دارد که نوع آنها Color است.
شما نیاز به یک کلاس non-static دارید با تعدادی خصوصیت static از نوع خود کلاس که یک instance از کلاس را با مقادیر مورد نظر بر می گردانند.
مثال:
//بسم الله الرحمن الرحیم
//اللهم صل علی محمد و آل محمد
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public class Message
{
public string Title { get; set; }
public string Text { get; set; }
public Message(string title, string text)
{
this.Title = title;
this.Text = text;
}
public static Message Hello
{
get
{
return new Message("Welcome!", "hello.");
}
}
public static Message Test
{
get
{
return new Message("test", "this is a test");
}
}
}
public partial class Form1 : Form
{
void ShowMessage(Message msg)
{
MessageBox.Show(msg.Text, msg.Title);
}
public Form1()
{
InitializeComponent();
ShowMessage(Message.Hello);
ShowMessage(Message.Test);
}
}
}