将代码从 .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(id) 代码,但它不允许我转换 .Query(Query)。 @naveen - 是的。这就是我试图向后转换的内容。请提供代码示例。 【参考方案1】:

您似乎正在使用 Facebook C# SDK。 SDK 中有两种解决方案——一种用于 4.0,一种用于 3.5。加载 3.5 解决方案并对其进行编译并改用该 DLL。你就是这样做来修复它的吗?

【讨论】:

没有。我回去了。我实际上搜索了返回的字符串并抓住了我需要的东西。感谢您对我的问题的理解。

以上是关于将代码从 .net 4.0 回滚到 .net 3.5,现在动态不起作用的主要内容,如果未能解决你的问题,请参考以下文章

svn上想回滚代码怎么办

为啥我在 Android Studio 3.3.1 的 Github 中使用 Revert 时无法回滚到某个点?

将目标框架从 .NET 3.5 更改为 .NET 4.0

如何将 git 存储库回滚到特定提交?

git远程库代码版本回滚方法

将项目的 .NET 目标框架从 4.0 更改为 3.5 后找不到文件(或程序集)