none
VB中带参数的属性怎样转换为C#版本? RRS feed

  • 问题

  •  例如下面的例子。

    Public ReadOnly Property HasRights(ByVal usergid As Int32) As Int32
            Get
                Return IIf(Me.sy_rights.Where(Function(x) x.usergid = usergid).Count > 0, 1, 0)
            End Get
        End Property

    2013年3月21日 7:23

答案

  • C#可能要用索引器(Indexer)来引入参数,就像下面这样:

        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            public Int32 this[Int32 userGid]
            {
                get
                {
                    return userGid == 0 ? 3 : 2;
                }
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                Form1 frm = new Form1();
                Console.WriteLine(frm[3]);
            }
    
        }

    使用的时候要实例化一个索引器所在的类,然后再使用它。

    Regards,



    Shanks Zen
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月22日 7:03
    版主

全部回复

  • C#可能要用索引器(Indexer)来引入参数,就像下面这样:

        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            public Int32 this[Int32 userGid]
            {
                get
                {
                    return userGid == 0 ? 3 : 2;
                }
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                Form1 frm = new Form1();
                Console.WriteLine(frm[3]);
            }
    
        }

    使用的时候要实例化一个索引器所在的类,然后再使用它。

    Regards,



    Shanks Zen
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月22日 7:03
    版主
  • 谢谢你的回复。索引器是对实例对象的,用在属性上不可以吧?
    2013年3月27日 2:36