Vb.net 错误表示x不是y的成员,但它是

Vb.net 错误表示x不是y的成员,但它是,vb.net,linq,linq-to-sql,stored-procedures,Vb.net,Linq,Linq To Sql,Stored Procedures,我在linq设计器中添加了一个sp,该sp生成了结果类: Partial Public Class web_GetTweetsByUserIDResult Private _userid As Integer Private _tweetid As Integer Private _TweeterFeed As String Public Sub New() MyBase.New End Sub <Global.Sy

我在linq设计器中添加了一个sp,该sp生成了结果类:

Partial Public Class web_GetTweetsByUserIDResult

    Private _userid As Integer

    Private _tweetid As Integer

    Private _TweeterFeed As String

    Public Sub New()
        MyBase.New
    End Sub

    <Global.System.Data.Linq.Mapping.ColumnAttribute(Storage:="_userid", DbType:="Int NOT NULL")>  _
    Public Property userid() As Integer
        Get
            Return Me._userid
        End Get
        Set
            If ((Me._userid = value)  _
                        = false) Then
                Me._userid = value
            End If
        End Set
    End Property

    <Global.System.Data.Linq.Mapping.ColumnAttribute(Storage:="_tweetid", DbType:="Int NOT NULL")>  _
    Public Property tweetid() As Integer
        Get
            Return Me._tweetid
        End Get
        Set
            If ((Me._tweetid = value)  _
                        = false) Then
                Me._tweetid = value
            End If
        End Set
    End Property

    <Global.System.Data.Linq.Mapping.ColumnAttribute(Storage:="_TweeterFeed", DbType:="NVarChar(100)")>  _
    Public Property TweeterFeed() As String
        Get
            Return Me._TweeterFeed
        End Get
        Set
            If (String.Equals(Me._TweeterFeed, value) = false) Then
                Me._TweeterFeed = value
            End If
        End Set
    End Property
End Class
部分公共类web\u GetTweetsByUserIDResult
Private\u userid作为整数
Private_tweetid为整数
Private\u TweeterFeed作为字符串
公共分新()
我的基地,新的
端接头
_
公共属性userid()为整数
得到
返回我。\u userid
结束
设置
If((Me.\u userid=value)_
那么
Me.\u userid=value
如果结束
端集
端属性
_
公共属性tweetid()为整数
得到
还给我
结束
设置
If((Me.\u tweetid=值)_
那么
Me.\u tweetid=值
如果结束
端集
端属性
_
公共属性TweeterFeed()作为字符串
得到
还给我
结束
设置
如果(String.Equals(Me.\u TweeterFeed,value)=false),那么
Me.\u TweeterFeed=值
如果结束
端集
端属性
末级
但是,在我试图使用结果类的“TweeterFeed”成员的这段代码中,我得到了一个错误,“错误4‘TweeterFeed’不是‘System.Data.Linq.ISingleResult(web_GetWeetsByUserIDResult的)’的成员。”

我在这部分的代码是:

<WebMethod()> _
    Public Function GetTweetsByUserID(ByVal userID As Integer) As List(Of SimpleTweet)
        Dim result As New List(Of SimpleTweet)
        Dim urlTwitter As String = "https://api.twitter.com/1/statuses/user_timeline.xml?include_entities=true&include_rts=true&screen_name={0}&count=20"
        Dim lq As New lqDFDataContext
        Dim var = lq.web_GetTweetsByUserID(userID).ToList()
        If Not var Is Nothing Then
            For Each twitterfeed In var

                Dim listURL As String = String.Format(urlTwitter, var.TweeterFeed)

                Dim tweetXML As XmlDocument = utils.GetXMLForURL(listURL)

                Dim tweetnodelist As XmlNodeList = tweetXML.ChildNodes(1).ChildNodes

                For Each node As XmlNode In tweetnodelist
                    Dim tweet As New SimpleTweet
                    tweet.CreatedAt = node.SelectSingleNode("created_at").InnerText
                    tweet.HTMLText = utils.ReturnTextWithHRefLink(node.SelectSingleNode("text").InnerText)
                    tweet.ID = node.SelectSingleNode("id").InnerText
                    tweet.Name = node.SelectSingleNode("user/name").InnerText
                    tweet.ScreenName = node.SelectSingleNode("user/screen_name").InnerText
                    tweet.Text = node.SelectSingleNode("text").InnerText
                    tweet.UserID = node.SelectSingleNode("user/id").InnerText
                    tweet.ProfileImageURL = node.SelectSingleNode("user/profile_image_url_https").InnerText
                    result.Add(tweet)
                Next
            Next
        End If
        Return result
    End Function
_
公共函数GetTweetsByUserID(ByVal userID为整数)作为(SimpleWebet的)列表
Dim结果作为新列表(SimpleWebet的)
将URL设置为字符串=”https://api.twitter.com/1/statuses/user_timeline.xml?include_entities=true&include_rts=true&screen_name={0}&count=20“
Dim lq作为新lqDFDataContext
Dim var=lq.web\u GetTweetsByUserID(userID.ToList())
如果不是,那么var什么都不是
对于var中的每个twitterfeed
Dim listURL作为String=String.Format(urlTwitter,var.TweeterFeed)
Dim tweetXML作为XmlDocument=utils.GetXMLForURL(listURL)
Dim tweetnodelist为XmlNodeList=tweetXML.ChildNodes(1.ChildNodes)
将每个节点作为tweetnodelist中的XmlNode
Dim tweet作为新的SimpleWeet
tweet.CreatedAt=node.SelectSingleNode(“created_at”).InnerText
tweet.HTMLText=utils.ReturnTextWithHRefLink(node.SelectSingleNode(“text”).InnerText)
tweet.ID=node。选择SingleNode(“ID”)。InnerText
tweet.Name=node.SelectSingleNode(“用户名”).InnerText
tweet.ScreenName=node。选择SingleNode(“用户/屏幕名称”)。InnerText
tweet.Text=node。选择SingleNode(“文本”)。InnerText
tweet.UserID=node.SelectSingleNode(“用户/id”).InnerText
tweet.ProfileImageURL=node。选择SingleNode(“用户/配置文件\u图像\u url\u https”)。InnerText
结果。添加(tweet)
下一个
下一个
如果结束
返回结果
端函数

有人知道发生了什么事吗?据我所知,“TweeterFeed”显然是这个类的一员,我不明白为什么会出现这个错误。

您使用的是
var.TweeterFeed
,而您应该使用
twitterFeed.TweeterFeed
twitterFeed
是从
var
中提取的一个结果,这是一个结果序列

使用比
var
更具描述性的变量名可能会让您更清楚:)

我有这个类

Public Class Tamano
    Private pWidth As Integer
    Private pHeight As Integer
    Public Property Width As Integer
    Public Property Height As Integer
End Class
我收到编译错误消息
“Height”不是IIS中“Tamaño”的成员

若要修复它,请添加Set并转到属性,然后进行编译

Public Class Tamano
    Private pWidth As Integer
    Private pHeight As Integer
    Public Property Width As Integer
        Get
            Return pWidth
        End Get
        Set(value As Integer)
            pWidth = value
        End Set
    End Property
    Public Property Height As Integer
        Get
            Return pHeight
        End Get
        Set(value As Integer)
            pHeight = value
        End Set
    End Property
End Class

这可能与您的问题没有直接关系,但可能会帮助其他人。

啊,是的!我现在觉得很傻,因为我忽略了这一点。非常感谢。