小编Adr*_*vel的帖子

在运行时执行隐式转换

所以我有一个带有隐式转换的Generic类(它主要是一个容器类),如下所示:

public class Container<T>  
{  
        public T Value { get; set; }

        public static implicit operator T(Container<T> t)
        {
            return t.Value;
        }

        public static implicit operator Container<T>(T t)
        {
            return new Container<T>() { Value = t };
        }
} 
Run Code Online (Sandbox Code Playgroud)

所以在运行时我想Container<int>使用反射转换为int 的实例,但似乎无法找到方法,我已经尝试了在几个地方提到的"Cast"方法调用,但我得到了一个Specified cast is not valid.异常.

任何帮助将不胜感激.

c# generics reflection

7
推荐指数
1
解决办法
1010
查看次数

检测BinaryExpression中的括号

我正在构建一个表达式分析器,我想从中生成数据库查询代码,我已经走得很远,但是我很难准确地解析BinaryExpressions.将它们分解为Left和Right非常容易,但我需要检测括号并相应地生成我的代码,我看不到如何执行此操作.

一个例子[请忽略有缺陷的逻辑:)]:

a => a.Line2 != "1" && (a.Line2 == "a" || a.Line2 != "b") && !a.Line1.EndsWith("a")
Run Code Online (Sandbox Code Playgroud)

我需要在中间检测'set'并保留它们的分组但是在解析期间我看不到表达式与正常BinaryExpression的任何差异(我不想检查括号的字符串表示)

任何帮助,将不胜感激.

(我应该提一下,我正在使用C#)

- 编辑 - 我没有提到我使用标准的.Net Expression类来构建表达式(System.Linq.Expressions命名空间)

--Edit2--好的我没有将文本解析为代码,我正在将代码解析为文本.所以我的Parser类有一个这样的方法:

void FilterWith<T>(Expression<Func<T, bool>> filterExpression);
Run Code Online (Sandbox Code Playgroud)

它允许你编写这样的代码:

FilterWith<Customer>(c => c.Name =="asd" && c.Surname == "qwe");
Run Code Online (Sandbox Code Playgroud)

使用标准.Net类很容易解析,我的挑战是解析这个表达式:

FilterWith<Customer>(c => c.Name == "asd" && (c.Surname == "qwe" && c.Status == 1) && !c.Disabled)
Run Code Online (Sandbox Code Playgroud)

我的挑战是将括号内的表达式保持为单个集合..Net类正确地将括号部分与其他部分分开,但由于括号而没有表明它是一个集合.

.net c# expression-trees parentheses

6
推荐指数
1
解决办法
2060
查看次数

在没有SD卡的Windows Phone 8上安装应用程序

好的,当我搜索这个短语时,我获得了大量关于如何使用SD卡安装应用程序的链接,我没有SD卡,是否有另一种方法从XAP文件安装应用程序?

windows-phone-8

6
推荐指数
2
解决办法
3万
查看次数

Silverlight中基于任务的数据服务

我正在尝试使用await/async'模式'(使用SL5和VS11)编写一个silverlight应用程序,但是我无法在服务配置中选择"生成基于任务的操作",这应该是可能的(还是) ?在网上找不到太多细节(特定于SL)......

silverlight wcf

5
推荐指数
1
解决办法
2221
查看次数

B2C注册页面中的自定义属性

我已经为我的Azure B2C目录创建了自定义属性,现在想要进行自定义注册页面,但无法弄清楚如何将ui元素"映射"到自定义属性,请帮忙.

从示例中我的猜测是我需要extension_在元素id中使用带有字段名称后缀的" "吗?该领域的文档很薄

<div class="attrEntry">
    <div class="helpText"></div>
    <label>Loyalty number</label>
    <input id="extension_MemNum" class="textInput" type="text" placeholder="Loyalty number"><a href="javascript:void(0)" onclick="selfAssertedClient.showHelp('Membership number');" class="tiny">What is this?</a>
</div>
Run Code Online (Sandbox Code Playgroud)

azure azure-ad-b2c

3
推荐指数
1
解决办法
1648
查看次数

从Azure B2C注册活动

我怎么知道我网站上的某个人刚刚完成了Azure B2C中的"注册"流程?我是否必须存储我自己的对象ID列表并检查它?我觉得无论如何我都必须这样做......

azure azure-ad-b2c

1
推荐指数
1
解决办法
248
查看次数