我刚刚使用ASP.NET MVC 3开始了一个项目.我正在现有的对象系统之上构建,所以我要做的第一件事就是为现有的各种类型定义显示和编辑器模板.
在MVC中是否可以使用泛型参数定义DisplayTemplate?例如,我们有一个BitString<T>类,它将枚举作为泛型参数,并表示包装所提供的枚举的选项列表.我希望我可以定义一个处理所有BitString实例的显示/编辑器模板.
我目前正在使用Razor作为我的观点,但我不介意混合和匹配ascx(或直接C#,如果有办法做到这一点)来实现这一点
谢谢
编辑:我认为这可能是这个问题的重复...但它已经有一年半了,所以也许有人在这一点上有更好的答案? 通用局部视图:如何将泛型类设置为模型?
有没有人试过在.NET 4.0下使用System.CodeDom生成扩展方法?似乎没有任何方法可以将CodeMemberMethod或CodeParameterDeclarationExpression指定为扩展方法/参数.
如果无法做到这一点,有什么好的解决方法吗?
谢谢
有没有办法让我获得一个结构的特征实现的静态借用引用:
trait Trait {}
struct Example;
impl Trait for Example {}
Run Code Online (Sandbox Code Playgroud)
这很好用:
static instance1: Example = Example;
Run Code Online (Sandbox Code Playgroud)
这也很好:
static instance2: &'static Example = &Example;
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
static instance3: &'static Trait = &Example as &'static Trait;
Run Code Online (Sandbox Code Playgroud)
它失败了:
error[E0277]: the trait bound `Trait + 'static: std::marker::Sync` is not satisfied in `&'static Trait + 'static`
--> src/main.rs:10:1
|
10 | static instance3: &'static Trait = &Example as &'static Trait;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Trait + 'static` cannot be shared between threads safely
|
= help: within …Run Code Online (Sandbox Code Playgroud) 快速问题...假设我有一个包含单个引用成员的C#结构.在.NET中,这个结构的赋值是原子的吗?例如:
struct ReadOnlyList<T>
{
private List<T> list;
// other random functionality
};
Run Code Online (Sandbox Code Playgroud)
我知道简单的旧引用赋值是原子的,只是好奇如果将整个事物包装在一个结构中会产生任何不同......
谢谢