相关疑难解决方法(0)

根据数据库查找表中的值自动创建枚举?

如何根据数据库查找表中的值(使用企业库数据层)自动创建枚举并随后在C#中使用其值?

例如,如果我在数据库中添加一个新的查找值,我不想在代码中手动添加额外的静态枚举值声明 - 我想让枚举与数据库保持同步.

有这样的事吗?


我不想创建代码生成的静态枚举(根据代码项目文章枚举代​​码生成器 - 从数据库查找表自动生成枚举代码),并希望它是完全自动的.

c# database enums dynamic

107
推荐指数
8
解决办法
12万
查看次数

如何编写在C#中实现给定接口的通用容器类?

上下文:.NET 3.5,VS2008.我不确定这个问题的标题,所以也可以自由评论标题:-)

这是场景:我有几个类,比如Foo和Bar,它们都实现了以下接口:

public interface IStartable
{
    void Start();
    void Stop();
}
Run Code Online (Sandbox Code Playgroud)

现在我想要一个容器类,它在构造函数中获取一个IEnumerable <IStartable>作为参数.反过来,这个类也应该实现IStartable接口:

public class StartableGroup : IStartable // this is the container class
{
    private readonly IEnumerable<IStartable> startables;

    public StartableGroup(IEnumerable<IStartable> startables)
    {
        this.startables = startables;
    }

    public void Start()
    {
        foreach (var startable in startables)
        {
            startable.Start();
        }
    }

    public void Stop()
    {
        foreach (var startable in startables)
        {
            startable.Stop();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如果不手动编写代码,并且没有代码生成,我怎么能这样做呢?换句话说,我想要像以下一样.

var arr = new IStartable[] { new Foo(), new Bar("wow") };
var mygroup = …
Run Code Online (Sandbox Code Playgroud)

c# generics reflection containers interface

25
推荐指数
1
解决办法
5963
查看次数

比较2个对象并检索具有不同值的字段列表

给定一个具有35个字段的类和2个具有一定数量的不同字段值的对象.是否有一种聪明的方法来获取列表<String>以及对象如下所示的字段名称?

例如

obj1.Name = "aaa";
obj1.LastName = "bbb";
obj1.Address = "xcs";
obj2.Name = "aaa";
obj2.LastName = "ccc";
obj2.Address = "jk";
Run Code Online (Sandbox Code Playgroud)

目的:

list<<String>String> containing 2 Strings LastName and Address
Run Code Online (Sandbox Code Playgroud)

我认为反射是要走的路,但是35场,恐怕太重了.还有其他想法,比如linq?

c# linq

12
推荐指数
2
解决办法
5301
查看次数

标签 统计

c# ×3

containers ×1

database ×1

dynamic ×1

enums ×1

generics ×1

interface ×1

linq ×1

reflection ×1