首页 > 解决方案 > 如何在 MVC 视图页面中使用我的 c# 类文件中定义的枚举

问题描述

我在单独的文件夹中的 c# 类文件中定义了这个枚举。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TurnaroundManagement.DataServices.Context;
using TurnaroundManagement.DataServices.Entities;
using TurnaroundManagement.DataServices.Models;
using TurnaroundManagement.DataServices.Models.EntityModels;
using static TurnaroundManagement.DataServices.Models.CommonModels;

namespace TurnaroundManagement.DataServices.EntityModels
{
    public class OrdersModel
    {
        private TurnaroundManagementContext db = new TurnaroundManagementContext();
        private CommonModels objCommonModels = new CommonModels();



        public enum OrderStatus
        {
            Pending = 1,
            Processed = 2
        };
        public enum MaterialStatus
        {
            OnScheduleDate = 1,
            Delayed = 2,
            Issued = 3
        };
        public enum DeliveryStatus
        {
            Pending = 1,
            Delivered = 2
        };


        public List<Orders> GetAllOrders(int Status)
        {
            List<Orders> OrdersList = new List<Orders>();
            try
            {
                OrdersList = db.Orders.Where(x => x.Status == Status).ToList();
            }
            catch (Exception ex)
            {
                objCommonModels.LogException(ex);
                OrdersList = null;
            }
            return OrdersList;
        }



    }
}

我如何在我的视图页面中使用它?我无法在我的视图页面中访问它们。我有更多枚举要访问..我尝试使用这个

@using myproject.dataservices.models.myclassnamethathastheenumvariableinit;

@using static myproject.dataservices.models.myclassnamethathastheenumvariableinit;

@使用 myproject.dataservices.models;

上面没有任何工作..

标签: c#

解决方案


您只能using命名空间和静态类。如果您想访问在其他类中定义的类型,如您的示例中所示。您可以using命名空间,其中包含TurnaroundManagement.DataServices.EntityModels您的案例中的类()。

然后你需要使用完整类型 hiracy 来访问你的枚举成员。例如

var deliveryStatus = OrdersModel.DeliveryStatus.Pending

如果您在这种层次结构中编写代码,则可以省略部分路径。

我个人只有嵌套类型,如果嵌套类型打算公开使用。您可以将枚举安全地移动到它们自己的文件中。这也有助于其他开发人员更快地找到包含特定类型的文件。


推荐阅读