Vb.net 错误表示x不是y的成员,但它是
我在linq设计器中添加了一个sp,该sp生成了结果类: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
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
这可能与您的问题没有直接关系,但可能会帮助其他人。啊,是的!我现在觉得很傻,因为我忽略了这一点。非常感谢。