小编bar*_*ker的帖子

如果没有定义名称空间,类将具有什么名称空间

在C#中,如果我创建一个没有命名空间的类,那么在尝试实例化类时我会使用什么命名空间?

例如,假设main是......

namespace NamespaceTests
{
    class Program
    {
        static void Main(string[] args)
        {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

...并假设我的无命名空间类是......

public class test
{
    public string SayHello()
    {
        return "Hello World!";
    }
}
Run Code Online (Sandbox Code Playgroud)

...并假设我有一个相同名称的另一个类,但具有默认命名空间...

namespace NamespaceTests
{
    public class test
    {
        public string SayHello()
        {
            return "Hello Moon...";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

...我如何修改main以包含无名称空间类的实例,并调用'SayHello'来检索消息"Hello World!"?具体来说,我如何完全限定类'test'的无名称空间实例,特别是考虑到我可能有另一个类也称为'test'但具有命名空间,所以我需要区分...

c# namespaces

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

如何使用jQuery,RequireJS和KnockoutJS创建基本的TypeScript项目

我一直在寻找一个简单的操作方法,使用RequireJS,jQuery和KnockoutJS创建Visual Studio 2012 TypeScript项目的最基本示例.有几个可用的例子,但对我来说,有些比我想要的更复杂,所以我开始创建一个方法,并将其发布在这里供公众审查.我已经回答了我自己的问题,作为问答风格的知识共享练习.

对于那些不熟悉的人,这里是包含组件的快速细分...

TypeScript - 一种Visual Studio扩展,允许脚本通过JavaScript的超集语言创建.TS文件.这提供了定义与方法和变量相关联的数据类型的能力 - 否则JavaScript将丢失这些数据类型.通过这样做,编译时间检查可以确保正确使用以尝试减少运行时冲突.构建Visual Studio项目时,Visual Studio扩展会将脚本编译为实际的JavaScript.因此,这个扩展附带了它自己的编译器--tsc.exe.预计生成的JavaScript文件将部署到生产环境,而不是源代码.ts文件.

jQuery - 用于HTML文档遍历和操作,事件处理,动画和Ajax交互的JavaScript框架.

RequireJS - 依赖加载器.有时JavaScript引用会变得疯狂.这试图帮助解决这些问题.我的示例显示,即使使用了许多JavaScript文件,HTML也只引用一个 - 加载其他文件的根JavaScript文件.

KnockoutJS - 利用MVVM模式进行UI绑定.HTML视图引用视图模型中的变量和方法.视图模型是一个JavaScript对象(JavaScript文件可能是编译.ts文件的结果 - 请参阅上面的TypeScript).

DefinitelyTyped - 还包括两个DefinitelyTyped NuGet包.由于TypeScript正在尝试验证数据类型的使用情况,因此它正在执行检查以确保它知道所有引用.JavaScript比这更松散.为了满足TypeScript(当引用外部JavaScript对象时),我们需要一种方法来描述(对TypeScript)我们期望使用的对象.这些DefinitelyTyped脚本提供了此定义.它们不提供任何功能,只是TypeScript编译器的清晰度,因此它可以执行这些检查.

在下面的示例中,您将看到

/// <reference path="../Scripts/typings/requirejs/require.d.ts" />
Run Code Online (Sandbox Code Playgroud)

这就是TypeScript编译器将包含requirejs DefinitelyTyped定义文件的方式.创建这些DefinitelyTyped脚本的组织创建了一个庞大的集合.这里我们只提到两个 - KnockoutJS和RequireJS(好吧,因为这是本教程的范围)

javascript mvvm requirejs knockout.js typescript

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

EDMX在哪里?

暴露于dotnet Core.在尝试在dotnet核心应用程序中设置EntityFramework.Core的示例测试应用程序中.虽然我能够添加EntityFramework.Core NugGet包,但我找不到'添加' - >'新项' - >'数据' - >'ADO.NET实体数据模型'

EntityFramework.Core是不可能的?

EntityFramework.Core与EntityFramework 7有何不同?

.net entity-framework-core .net-core

11
推荐指数
2
解决办法
8231
查看次数

为什么StyleCop输出读取"StyleCop取消"?

在VisualStudio 2012中,创建WPF解决方案,尝试在整个解决方案上运行stylecop,输出读取

------ StyleCop 4.7 (build 4.7.59.0) started ------

Pass 1:   testProject - \App.xaml.cs
Pass 1:   testProject - \Modules\Administration\Models\DocumentClass.cs
Pass 1:   testProject - \Modules\Administration\Models\DocumentType.cs
Pass 1:   testProject - \Modules\Administration\Models\LetterGroup.cs
Pass 1:   testProject - \Modules\Administration\Models\LetterType.cs

------ StyleCop cancelled ------
Run Code Online (Sandbox Code Playgroud)

为什么我收到此消息?这个过程完成了吗?我在哪里可以找到结果?

stylecop visual-studio-2012

9
推荐指数
1
解决办法
1505
查看次数

Helm 安装可以从 dockerfile 创建容器吗?

试图了解 Helm 和 Docker 容器之间的关系。

Helm 安装可以从 dockerfile 创建容器吗?

docker kubernetes dockerfile kubernetes-helm

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

ASP.Net MVC 3.0属性[OutputCache] - 这是全局的还是会话?

在创建ASP.Net MVC 3.0应用程序时,我可以在操作中包含OutputCache属性,并定义缓存将持续的持续时间.在此持续时间之后,导致触发操作的任何活动都将导致此缓存结果被丢弃和刷新.

我的问题是......这个缓存输出是否对所有用户会话都是全局的,或者是特定于每个会话的缓存选项.换句话说,如果user1发出请求,其中具有OutputCache属性的操作设置为1小时,则在中午(中午12:00)开始请求.User2向同一个动作发出请求,但是在中午30点(下午12:30).两个用户的缓存结果是否相同,如果是这样,user2的缓存输出是否会在下午1:00刷新?

asp.net asp.net-mvc outputcache asp.net-mvc-3

7
推荐指数
2
解决办法
2491
查看次数

6
推荐指数
2
解决办法
6913
查看次数

调试时停止 Visual Studio 启动当前选择/打开的 HTML 页面

如果我有 ac# web 应用程序项目,例如 MVC 项目,并且我创建/添加了一个 .HTML 文件,并且我正在编辑 .HTML 文件,当我启动调试器时,它不会正常启动,而是以.HTML 文件我目前正在编辑。我希望它像 MVC 项目一样正常启动,使用默认路由。

这个可以配置吗?我可以告诉 VS,即使当前上下文是一个 .HTML 页面,它也应该忽略这个事实,并开始时就好像当前上下文中没有文件一样吗?

html c# asp.net-mvc asp.net-mvc-4 visual-studio-2012

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

Autofac子依赖链注册

如何构建AutoFac ContainerBuilder以便正确解析我的子依赖关系(假设接口的多个具体实现)?默认注册/解析将不起作用,因为我有多个子依赖项的具体实现,并且子依赖项解析依赖于主对象的分辨率.在所有情况下,我希望使用构造函数注入.

脚本

例如,假设我需要打印收据,因此我创建了一个名为IReceipt的接口,其中包含一个名为PrintReceipt()的方法.

但我需要打印3种收据

  1. 标准收据
  2. 礼品收据
  3. 电子邮件收据

所有收据类型都有不同的格式,电子邮件收据根本不打印,而是通过电子邮件发送.所以我希望我的IReceipt能够依赖格式化器和处理器.假设我使用Process()方法创建IProcessor,它可以是打印机处理器,也可以是电子邮件处理器(打印机处理器负责打印机通信,电子邮件处理器负责与SMTP服务器通信) .此外,我创建了一个IFormatter,它可以将输入提供给处理器对象,格式化为标准收据,或礼品收据,甚至是电子邮件收据的HTML.因此,IReciept的任何具体实现的构造函数现在需要两个依赖项--IFormatter和IProcessor.

现在,根据我需要决定的根构成,我是否正在解决用于标准收据,礼品收据或电子邮件收据的IReceipt.我想调用容器Resolve()方法传递必要的参数,以便它解析正确的IReceipt.此外,我希望注册ContainerBuilder知道,如果我尝试解决IReceipt标准收据的具体实现,它需要使用正确的标准收据IFormatter解决子依赖关系,并更正标准收据IProcessor.对于礼品收据方案和电子邮件收据方案也是如此.

概括

所以 - 在所有这些 - 我的问题是 - 我如何构造ContainerBuilder,以便在设计时定义子依赖,并且单次调用Resolve()将正确识别所需的具体实现?我不是在寻求与打印机对话或发布HTML的解决方案.此问题严格适用于Autofac注册和解决方法.在不同的客户端,我使用CastleWindsor使用了这个确切的策略,但我当前的客户端使用的是Autofac.

c# dependency-injection autofac

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

如何在共享视图Error.cshtml中显示异常消息?

如果我从一个新的MVC 5项目开始,在web.config设置中,customErrors mode ="on"允许共享视图'Error.cshtml'在我强制(引发)异常时显示,但它只显示以下文本.. .

错误.

处理您的请求时发生错误.

如何将信息传递到此视图以显示更多相关信息,例如发生了什么错误?如果我使用Global.asax方法,我可以使用此视图吗?

protected void Application_Error()
Run Code Online (Sandbox Code Playgroud)

c# error-handling asp.net-mvc razor asp.net-mvc-5

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