小编Cra*_*aig的帖子

简单的OOP理解

我有一节课:

public class TaskDiplayModel
{
    public int taskId { get; set; }

    [DisplayName("Task Description")]
    public string description { get; set; }

    [DisplayName("Priority")]
    public string priority { get; set; }

    [DisplayName("State")]
    public string state { get; set; }

    [DisplayName("Due By")]
    public DateTime deadline { get; set; }

    [DisplayName("Created By")]
    public PersonObject created_by { get; set; }

    [DisplayName("Assigned To")]
    public PersonObject assigned_to { get; set; }

    [DisplayName("Category")]
    public string category { get; set; }

    [DisplayName("Sub Category")]
    public string subCategory { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# oop asp.net-mvc-3

0
推荐指数
1
解决办法
127
查看次数

正则表达式在字符串中查找和替换一年

我的c#中有一个字符串:

The.Big.Bang.Theory.(2013).S07E05.Release.mp4

我需要找到一个出现(2013),并用_(三个下划线)替换整个事物,包括括号.所以输出将是:

大爆炸理论._ .S07E05.Release.mp4

是否有正则表达式可以做到这一点?还是有更好的方法?

然后我对新字符串进行一些处理 - 但后来需要报告'(2013)'已被删除..所以我需要存储被替换的值.

c# regex

0
推荐指数
1
解决办法
3036
查看次数

接受接口的c#方法?

我是Interfaces的新手.

我有很多对象,我作为DTO通过我的图层传递给UI.其中一些非常复杂(相当多的属性),但我只想在DropDown列表中使用它们,在某些情况下.这些DTO都有一个int Id和一个string Description.

我想创建一个静态函数,它接受List<>其中一个对象,并返回一个List<SelectListItem>

所以,我第一次尝试使用Interfaces.

我创建了一个接口:

public interface IListableItem
{
    int Id { get; set; }
    string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后,我将该接口分配给我尝试转换的DTO对象之一:

public class CategoryDto : BaseDto , IListableItem
{
    public int PortfolioId { get; set; }
    public string Description { get; set; }
    public List<ExtendedSubCategoryDto> SubCategories { get; set; }
    public bool IsExpenseCategory { get; set; }

    public CategoryDto()
    {
        SubCategories = new List<ExtendedSubCategoryDto>();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我创建了我的泛型方法,它获取了类别dtos的列表,并希望返回一个列表

public static …
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
85
查看次数

处理视图中的逻辑和常量

我有一个显示在我的日期,显示View用户登录的最后日期.他们可能从未这样做过.所以它作为一个传递nullable DateTime.

在UI上,我显示如下:

<td>@(u.LastVisit != null ? u.LastVisit.Value.ToString("dd-MMM-yyyy") : "Not yet")</td>
Run Code Online (Sandbox Code Playgroud)

但我对此有一些问题,并认为这可能是不好的做法.

首先,视图现在具有逻辑性.(如果为null,则显示"Not Yet",否则显示日期).视图还指示日期格式.该格式已作为常量存储在Constants文件中,可从我的控制器访问.并且"Not Yet"这个文本也应该是一个常数.

我能看到的唯一方法是将一个String返回给UI,并将该逻辑移动到控制器.但这是正确的方法吗?

c# asp.net-mvc

0
推荐指数
1
解决办法
39
查看次数

在 LINQ 查询中创建 DateTime

我收到以下错误:

LINQ to Entities 仅支持无参数构造函数和初始值设定项。

我试图从结果集中查询数据,新结果集的一部分返回一个新的日期字段。

var result = debts.Select(x => new 
             { 
                 x.Snowball.User.Email, 
                 x.SnowballID, 
                 x.Description, 
                 x.ID, 
                 x.DueDayOfMonth, 
                 Due = new DateTime(ExecutionDate.Year, 
                                    ExecutionDate.Month, 
                                    x.DueDayOfMonth) 
             }).ToList();
Run Code Online (Sandbox Code Playgroud)

有没有办法可以创建这个推断的日期时间?

c# linq datetime

0
推荐指数
2
解决办法
4092
查看次数

在异步方法中列出到 IEnumerable

我有一个方法:

public Task<IEnumerable<MyDetails>> HandleAsync(...)
Run Code Online (Sandbox Code Playgroud)

在此方法中,我只是构建了一个项目列表。

IEnumerable<MyDetails> myDetails = new List<MyDetails> {
                new MyDetails{ Name = 'John' },
                new MyDetails{ Name = 'James' },
                new MyDetails{ Name = 'Anne' },
            };
Run Code Online (Sandbox Code Playgroud)

然后返回结果。

return Task.FromResult(insuraceTypeDetails);
Run Code Online (Sandbox Code Playgroud)

在代码审查中,我被要求使用var而不是IEnumerable<MyDetails>

但是,尝试这样做时,我在返回时收到错误消息:

无法将类型 Threading.Tasks.Task<List> 转换为 Threading.Tasks.Task<IEnumerable>

我认为这没问题,但编译器不允许。我可以在这里使用 var 吗?或者我是否正确明确地告诉编译器我们需要什么?

c#

0
推荐指数
1
解决办法
65
查看次数

标签 统计

c# ×6

asp.net-mvc ×1

asp.net-mvc-3 ×1

datetime ×1

linq ×1

oop ×1

regex ×1