任何人都可以帮忙。

我在 vb.net 中有以下内容,需要将其转换为 c#。起初看起来相当简单,但我需要传入 NamedObject 变量以及 vb.net 支持但在 c# 中不支持的变量。

我有哪些选择。

这是 vb.net - 注意 NamedObject

    Public Property Datos(ByVal NamedObject As String) As T
        Get
            Return CType(HttpContext.Current.Session.Item(NamedObject ), T)
        End Get
        Set(ByVal Value As T)
            HttpContext.Current.Session.Item(NamedObject ) = Value
        End Set
    End Property

这是 c#,但它出现错误,因为我无法在属性上传递参数
    public T Datos(string NamedObject)
    {
        get { return (T)HttpContext.Current.Session[NamedObject]; }
        set { HttpContext.Current.Session[NamedObject] = Value; }
    }

我将不胜感激任何输入..

谢谢

最佳答案

您正在寻找 indexer 属性。基本上实现一个名为 this 的属性。有一个很好的教程 here

确实,您仅限于一个索引器,但您将能够实现如下内容:

public T this[string namedObject]
{
    get { return (T)HttpContext.Current.Session[namedObject]; }
    set { HttpContext.Current.Session[namedObject] = Value; }
}

关于c#:将 Get/Set 从 vb.net 转换为 c#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2416559/

10-12 06:23