c#:将 Get/Set 从 vb.net 转换为 c#

标签 c# vb.net properties

谁能帮忙。

我在 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; }
    }

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

谢谢

最佳答案

您正在寻找索引器属性。基本上实现一个名为 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/

相关文章:

vb.net - 如何使用 linq to sql 的文本框编辑/更新数据库中的记录?

.net - 为数据表中的所有行设置值,无需 for 循环

java - 资源包

javascript - JavaScript 对象属性可以引用同一对象的另一个属性吗?

python - 在 python 2.5.1 或更早版本中使用属性和 setter

c# - 有可能摆脱这个 Nuget Hell 场景吗?

c# - Process.Start 中的 ID 有时匹配,有时不匹配

c# - SRI 散列不是预期的

c# - 图返回 "Code: ResourceNotFound Message: Invalid version: me Inner error"

vb.net - 将 URL 拆分为不同的部分 VB.Net