在 MVC 1 C# 中进行泛型类型计算

本文关键字:泛型类型 计算 MVC | 更新日期: 2023-09-27 17:56:31

我有以下代码需要评估其类型,尽管我不确定如何在 mvc 1 中执行此操作? 示例底部的 show 方法突出显示了我需要评估类型是"汽车"还是"船"的问题。 任何人都可以建议如何做到这一点!非常感谢詹姆斯

public interface IPanel
{
    string Name { get; }
}
public class CarPanel : IPanel
{
    public string Name
    {
        get { return "Hello Car"; }
    }
}
public class BoatPanel : IPanel
{
    public string Name
    {
        get { return "Hello Boat"; }
    }
}
...
var list = new List<IPanel>();
list.Add(new BoatPanel());
list.Add(new CarPanel());

// In the view
foreach (var p in ViewData.Model.Panels)
{ 
    <% Html.RenderAction<PanelController>(x => x.Show()); %> 
}

// PanelController

public ActionResult Show()
{
    var model = <T> // Problem: Am I a Boat or Car?

在 MVC 1 C# 中进行泛型类型计算

使用 is 运算符。

if(model is BoatPanel)
{
    //your code
}
if(model is CarPanel)
{
    //your code
}

is 运算符用于检查泛型对象是否属于所需类型。

希望对:)有所帮助