C# MVC3如何从视图访问此代码?

C# MVC3如何从视图访问此代码?,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,在剃须刀区 @{ Like This } 我需要能够调用c#函数 静态T转换(对象o) { 返回(T)o; } 以便动态强制转换对象。如何访问此代码 我希望能够做到这一点 someObject = Cast<someType>(someObject); someObject=Cast(someObject); 编辑 我正在尝试实现一个通用视图模型 模型如下: public class GenericVM<TEntity> where TEntity : clas

在剃须刀区

@{
 Like This
}
我需要能够调用c#函数

静态T转换(对象o)
{
返回(T)o;
}
以便动态强制转换对象。如何访问此代码

我希望能够做到这一点

someObject = Cast<someType>(someObject);
someObject=Cast(someObject);
编辑

我正在尝试实现一个通用视图模型

模型如下:

public class GenericVM<TEntity> where TEntity : class
{
    public List<TEntity> Entities { get; set; }
    public object Entity { get; set; }
    public Type Type { get; set; }
}
公共类GenericVM,其中tenty:class
{
公共列表实体{get;set;}
公共对象实体{get;set;}
公共类型类型{get;set;}
}
我正在控制器中填充GenericVM对象,然后将其传递给带有
@model dynamic
的视图


进入视图后,我试图使用对象中的类型动态地将模型转换回正确的类型。

可能只是简单地转换它,或者我遗漏了什么

@{
    var someObject2 = (someType)someObject;
}


你可以简单地投下它,还是我错过了什么

@{
    var someObject2 = (someType)someObject;
}


你能把它放到Html扩展中吗

public static T Cast<T>(this HtmlHelper helper, object o)
{
    return (T)o;
}
publicstatict-Cast(这个HtmlHelper助手,对象o)
{
返回(T)o;
}
那么就:

Html.Cast<string>(someString)
Html.Cast(someString)

在你看来。我在这里使用一个字符串作为用法示例,只需更改您自己的模型类型。

您能将其放入Html扩展中吗

public static T Cast<T>(this HtmlHelper helper, object o)
{
    return (T)o;
}
publicstatict-Cast(这个HtmlHelper助手,对象o)
{
返回(T)o;
}
那么就:

Html.Cast<string>(someString)
Html.Cast(someString)

在你看来。我在这里使用一个字符串作为用法示例,只需更改您自己的模型类型。

您的视图模型应该已经以所需的形式向视图提供了数据。真的不需要这样做。我完全同意tvanfosson。@tvanfosson-视图模型是
@model dynamic
,所以需要动态重铸。为什么需要一个函数来进行铸造?你不能直接施放吗?如果它是动态的,就把它当作那种类型来使用。没有必要投下它。如果有一个动态的视图模型,我会感到不舒服。毕竟,为什么不使用ViewBag呢?但是只要您传递一个具有预期属性/方法的类型,它就应该可以工作。您的视图模型应该已经以所需的形式向视图提供了数据。真的不需要这样做。我完全同意tvanfosson。@tvanfosson-视图模型是
@model dynamic
,所以需要动态重铸。为什么需要一个函数来进行铸造?你不能直接施放吗?如果它是动态的,就把它当作那种类型来使用。没有必要投下它。如果有一个动态的视图模型,我会感到不舒服,为什么不干脆使用ViewBag呢?但只要您传递一个具有预期属性/方法的类型,它就应该可以工作。他的cast方法似乎接受了您没有提供的参数。他的cast方法似乎接受了您没有提供的参数。