View Full Version : Property با پارامتر
  
SabaSabouhi
سه شنبه 01 آبان 1386, 11:38 صبح
با سلام
آیا توى #C مىشه مثل VB خاصیتهاى پارامترى داشت؟ مثل: MyProperty("Test", 1) = 1
 
صبا صبوحى
once4ever
سه شنبه 01 آبان 1386, 17:14 عصر
منظورت چیه؟
رها
سه شنبه 01 آبان 1386, 17:49 عصر
توی سی شارپ همچین امکانی وجود نداره به جاش از متد باید استفاده کنید.
PC2st
سه شنبه 01 آبان 1386, 18:05 عصر
بله میشه ولی با مفهوم Indexer (ایندکسر).
SabaSabouhi
یک شنبه 06 آبان 1386, 10:02 صبح
بله میشه ولی با مفهوم Indexer (ایندکسر).
 
با سلام و سپاس
اما چطورى؟ مىخوام چند تا پارامتر داشته باشم، مثل یک آرایهى دو بعدى یا سه بعدى.
و این که مثلاً یکى از پارامترها هم رشته باشه.
 
مثل شىء DataRow که مىتونید با نام ستون به مقدار اون دسترسى داشته باشید:
DataRow MyRow = MyTable.Rows[0];
MyRow["KeyID"] = 1;
مىخواهیم چیزى شبیه به این داشته باشم.
صبا صبوحى
PC2st
یک شنبه 06 آبان 1386, 17:39 عصر
یک پروژه Console App ایجاد کرده و کدهای زیر رو در اون copy\paste کنید:
using System;
 
class Program
{
    static void Main (string [] args)
    {
        A a = new A ();
        string b1 = a.Data ["b1"].Value;
        string b2 = a.Data ["b2"].Value;
        Console.WriteLine (b1 + " : " + b2);
        Console.ReadKey ();
    }
}
 
class A
{
    private BCollection collect = new BCollection ();
 
    public BCollection Data
    {
        get
        {
            return this.collect;
        }
    }
}
 
class BCollection
{
    private B
        b1 = new B ("Hello"),
        b2 = new B ("Bye");
 
    public B this [string name]
    {
        get
        {
            switch (name.ToUpper())
            {
                case "B1":
                    return b1;
                case "B2":
                    return b2;
                default :
                    throw new ArgumentException (name + " not found");
            }
        }
    }
}
 
class B
{
    private string _value;
 
    public B (string value)
    {
        this._value = value;
    }
 
    public string Value
    {
        get
        {
            return this._value;
        }
    }
}
موارد مهم رو بصورت bold (تو پر و غلیظ) مشخص کردم. امیدوارم کدها رو خوانا نوشته باشم...
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.