首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#中的VB默认属性是什么?

C#中的VB默认属性是什么?
EN

Stack Overflow用户
提问于 2013-03-10 22:21:00
回答 2查看 947关注 0票数 0

我找到了一个例子,但我不明白它的意思。

How can I read from a DataRow or a DataReader using the same code?

我不知道如何将接口和两个类转换为C#?

编辑:下面是我想要转换成C#的代码:

代码语言:javascript
复制
Interface IIndexer
    Default ReadOnly Property Item(ByVal index As String)
End Interface

Class DataReaderWrapper
Implements IIndexer

Private ReadOnly _reader As IDataReader

Public Sub New(reader As IDataReader)
    _reader = reader
End Sub

Public ReadOnly Property Item(index As String) As Object Implements IIndexer.Item
    Get
        Return _reader(index)
    End Get
End Property
End Class

Class DataRowWrapper
Implements IIndexer

Private ReadOnly _row As DataRow

Public Sub New(row As DataRow)
    _row = row
End Sub

Public ReadOnly Property Item(index As String) As Object Implements IIndexer.Item
    Get
        Return _row(index)
    End Get
End Property
End Class
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-10 22:37:37

据我所知,没有类似的东西。有关Default关键字的更多信息,请访问MSDN。

您在这里看到的是一个Indexer in an Interface

转换后的代码如下所示:

代码语言:javascript
复制
interface IIndexer
{
    object this[string index] { get; }
}

class DataReaderWrapper : IIndexer
{
    private readonly IDataReader _reader;
    public DataReaderWrapper(IDataReader reader)
    {
        _reader = reader;
    }

    public object this[string index]
    {
        get { return _reader[index]; }
    }
}

class DataRowWrapper : IIndexer
{
    private readonly DataRow _row;
    public DataRowWrapper(DataRow row)
    {
        _row = row;
    }

    public object this[string index]
    {
        get { return _row[index]; }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2013-03-10 22:26:00

像这样的东西可以工作,不清楚你所说的“默认属性”是什么意思:

代码语言:javascript
复制
var loadedItems = new List<Item>();
SqlDataReader dr = GetItemsDataReader();
while(dr.Read()){
  Item item = GetItemFromData(dr);
  loadedItems.Add(item);
}

private Item GetItemFromData(SqlDataReader dr){
  var loadedItem = new Item();
  loadedItem.ID = dr["ID"];
  loadedItem.Name = dr["Name"];
  'etc., etc.'
  Return loadedItem
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15323232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档