小编Seb*_*ero的帖子

如何检查方法是否具有属性(带接口,强制转换和抽象)

在阅读了文章" 如何检查方法是否具有属性 "之后,我是解决让我保持清醒的问题的一步.

我介绍一下情况:

(我正在使用ASP.Net MVC 4)

这些接口:

public interface IFlyable
{
    ActionResult Fly();
}    

public interface IRunnable
{
    ActionResult Run();
}
Run Code Online (Sandbox Code Playgroud)

这个抽象类:

public abstract class SuperHero : Controller
{
    public void SavePeople()
    {
    }    
}
Run Code Online (Sandbox Code Playgroud)

这个控制器:

public class SuperManController : SuperHero,IFlyable,IRunnable {

    [Authorize]
    public ActionResult Fly(){
        // Flying...
    }    

    [Authorize]
    public ActionResult Run(){
        // Running...
    }    

}
Run Code Online (Sandbox Code Playgroud)

这个抽象类(用于测试)

[TestClass]
public abstract class SuperHeroTest<TSuperHero>{

    protected abstract TSuperHero GetSuperHero();

    [TestMethod]
    public void IfSuperHeroCanFlyMustHaveAuthorizeAttribute(){

        var superHero=GetSuperHero();

        if(superHero is IFlyable)
        { …
Run Code Online (Sandbox Code Playgroud)

c# reflection asp.net-mvc unit-testing custom-attributes

8
推荐指数
1
解决办法
3512
查看次数

字体真棒WinForms

有人试图用字体-真棒(fortawesome.github.io/Font-Awesome/)成C#/ WinForms应用程序?

应该是一个像任何其他字体,或不是?

c# winforms font-awesome

5
推荐指数
1
解决办法
1万
查看次数

OwinStartup 停止使用 IIS 触发(但仍可使用 IIS Express)

我有一个托管在 IIS 上的 Web API 2 应用程序。

为了配置 OWIN,它有一个与此类似的启动类:

[assembly: OwinStartup(typeof(Startup))]
namespace Application.Api
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
            throw new Exception("Owin startup class fired"); // Added for test pourposes
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该应用程序工作得像一个魅力,直到它停止触发类Startup:配置文件中没有任何更改,没有包更新,文件Microsoft.Owin.Host.SystemWeb.dll存在于bin文件夹中,配置正常,等等。

只是它停止工作,但如果我将项目设置为启动项目并使用IIS Express按F5运行它,启动类就会正确加载。

我检查了其他帖子,可能有原因,但运气不佳:

ETC。

c# asp.net iis owin asp.net-web-api2

5
推荐指数
1
解决办法
2142
查看次数

没有构造函数的依赖注入:真的是一个不好的做法?

我正在使用C#,MVC4,StructureMap等进行Web解决方案.

在解决方案中,我有控制器服务.举例:

public class ServiceA{
    private readonly IRepository _repository1;
    private readonly IRepository _repository2;

    public ServiceA(IRepository1 repository1, IRepository2 repository2){
        _repository1=repository1;
        _repository2=repository2;
    }

    public void DoSomethingA(){
        _repository1.DoSomething();
    }

    public void DoSomethingB(){
        _repository2.DoSomething();
    }
}

public class ServiceB{
    private readonly IRepository _repository3;
    private readonly IRepository _repository4;

    public ServiceB(IRepository3 repository3, IRepository4 repository4){
        _repository3=repository3;
        _repository4=repository4;
    }

    public void DoSomethingA(){
        _repository3.DoSomething();
    }

    public void DoSomethingB(){
        _repository4.DoSomething();
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做是好的做法吗?:

public abstract class ServiceBase(){
    public IRepository1 Repository1 { get { return instanceOf<IRepository1>(); }}
    public IRepository2 Repository2 { …
Run Code Online (Sandbox Code Playgroud)

c# structuremap asp.net-mvc dependency-injection recommendation-engine

3
推荐指数
1
解决办法
1729
查看次数