将代码从 .net 4.0 回滚到 .net 3.5,现在动态不起作用
Posted
技术标签:
【中文标题】将代码从 .net 4.0 回滚到 .net 3.5,现在动态不起作用【英文标题】:Rolling back code from .net 4.0 to .net 3.5 and now dynamics dont work 【发布时间】:2011-09-27 03:11:37 【问题描述】:我使用了 KEYWORD 动态,它仅在 .net 4.0 中可用,但我必须回滚到 .net 3.5 服务器。我不能再使用 KEYWORD 动态,需要将其转换为与 .net 3.5 一起使用。我有一个班级,FBWeird,我认为我可以反对,但是当我把它放在 fb.Query(query) 中时它不起作用。当我回滚 .Get 语句并且 .Get(id) 对我有用但在这种情况下不起作用时,我使用相同的方法。谁能帮我用下面的代码让它恢复工作?
代码
var fb = new FacebookWebClient(accessToken.ToString());
var fbResults = fb.Query("SELECT like_count,normalized_url FROM link_stat WHERE url='http://www.facebook.com/cocacola");
long likeCount = fbResults.like_count;
Response.Write(fbResults.ToString());
类
public class FBWeird
public string like_count get; set;
编辑
好的,所以一些投反对票的怀疑者,出于某种原因,对我的问题感到很奇怪。所以.. 对于怀疑者,这就是你的做法:
List<FBWeird> entities = (List<FBWeird>)Newtonsoft.Json.JsonConvert.DeserializeObject(fbResults.ToString(), typeof(List<FBWeird>));
foreach (FBWeird obj in entities)
thisLikeCount = obj.like_count;
随心所欲地输出,效果很棒。
【问题讨论】:
“但它不起作用。” - 错误是什么? 如果您提到关键字dynamic
,那么它是 C#4.0 功能
@Mitch - 我不知道把它放在哪里让它工作。
@John - 我想在不使用动态的情况下像动态一样访问 fbResults.like_count。我有类似的 .Get您似乎正在使用 Facebook C# SDK。 SDK 中有两种解决方案——一种用于 4.0,一种用于 3.5。加载 3.5 解决方案并对其进行编译并改用该 DLL。你就是这样做来修复它的吗?
【讨论】:
没有。我回去了。我实际上搜索了返回的字符串并抓住了我需要的东西。感谢您对我的问题的理解。以上是关于将代码从 .net 4.0 回滚到 .net 3.5,现在动态不起作用的主要内容,如果未能解决你的问题,请参考以下文章