任何人都可以帮忙。
我在 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/