小编mld*_*mld的帖子

查找包含特定属性值的属性的所有类

是否可以根据给予该属性的值找到标记有自定义属性的类?

基本上,我的课程看起来像这样 -

[MyAttr("CODE")]
public class MyClass() {}
Run Code Online (Sandbox Code Playgroud)

从那里我得到所有的类(类型) -

var c = Assembly.GetExecutingAssembly().GetTypes().Where
                        (
                            t => t.IsClass && 
                            t.Namespace == (typeof(AbstractParentClass)).Namespace &&
                            t.IsSubclassOf(typeof(AbstractParentClass))
                        );
Run Code Online (Sandbox Code Playgroud)

这一切似乎都有效. c包含所有适当的类.现在我需要从c具有属性MyAttr和值"CODE" 获取类.该值可通过MyAttr上的属性调用Id.

这是我的尝试 -

var message = from m in c
                  from a in m.GetCustomAttributes(typeof(MyAttr), false)
                  where ((MyAttr)a).Id == "CODE"
              select m;
Run Code Online (Sandbox Code Playgroud)

这没有做到这一点.所以,真正的问题是,如果这是可能的,如果是这样,需要改变什么来获得适当的类(并实例化它).

c# linq reflection

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

在Internet Explorer 10中重置css转换

在尝试CSS转换时,我创建了一个小滚动演示,将rightcss样式从某个负数转换为0,然后在transitionend事件触发时重新启动以获得无限滚动效果.这是我演示的小提琴 - http://jsfiddle.net/XhFdv/

这适用于最新的FF,Chrome,Safari(win)和Opera.在IE 10的事件触发(两者的Win 7和Win 8测试),但试图设置正确的属性回到它开始在负数似乎没有奏效 - 这通常被设置后保持为0(但不总是).

为了让事情变得更有趣,添加console.log()alert()经常足以让它按预期运行.这让我觉得UI层中有一些未完成的东西.我试图将更多的样式设置包含在一个setTimeout(..., 0)渲染中,因此渲染可以赶上,但这似乎没有帮助.

这是IE 10中的一个错误,还是我在演示脚本中缺少某些东西?

internet-explorer css3 css-transitions internet-explorer-10

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

输出使用Entity Framework 4.1 Code-First创建SQL

Database.SetInitializer()适用于测试,但我需要在文件中输出SQL以便在生产环境中工作(DBA不会运行程序来创建数据库).Castle ActiveRecord可以轻松输出文件ActiveRecordStarter.GenerateCreationScripts().如果在EF中有类似的方法,我无法找到任何提及它.这可行吗?

.net ef-code-first entity-framework-4.1

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