Tag: C#的

为什么std :: transform和类似的'for'循环增量转换为(void)?

(void) ++__result在下面的代码中的目的是什么? std :: transform的实现: // std::transform template <class _InputIterator, class _OutputIterator, class _UnaryOperation> inline _LIBCPP_INLINE_VISIBILITY _OutputIterator transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __op) { for (; __first != __last; ++__first, (void) ++__result) *__result = __op(*__first); return __result; }

在.NET中捕获存储过程打印输出

是否有可能从.NET中的TSQL存储过程捕获打印输出? 我有很多传统的Procs,使用打印作为errorMessaging的手段。 一个例子,是否有可能从下面的PROC访问outprint“word”? — The PROC CREATE PROC usp_PrintWord AS PRINT 'word' // Some C# Code to would like to pull out 'word' SqlCommand cmd = new SqlCommand("usp_printWord", TheConnection); cmd.CommandType = CommandType.StoredProcedure; // string ProcPrint = ???

使用Unity无法注入依赖到ASP.NET Web API控制器

有没有人有任何成功运行使用IoC容器注入到ASP.NET WebAPI控制器的依赖? 我似乎无法得到它的工作。 这就是我现在正在做的。 在我的global.ascx.cs : public static void RegisterRoutes(RouteCollection routes) { // code intentionally omitted } protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); IUnityContainer container = BuildUnityContainer(); System.Web.Http.GlobalConfiguration.Configuration.ServiceResolver.SetResolver( t => { try { return container.Resolve(t); } catch (ResolutionFailedException) { return null; } }, t => { try { return container.ResolveAll(t); } catch (ResolutionFailedException) { […]

文件范围内的可变修改数组

我想在我的“.m”文件的顶层创build一个常量静态数组,用于整个Objective-C实现文件,类似于这样的东西: static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; 我打算在后面的文件中使用NUM_TYPES ,所以我想把它放在一个variables中。 但是,当我这样做,我得到的错误 在文件范围“可变修改”types“ 我认为这可能与作为variables的数组大小有关(当我在那里放置一个整型文字时,我不会得到这个消息,就像static int types[4] )。 我想解决这个问题,但也许我错了……我在这里有两个目标: 有一个可以在整个文件中访问的数组 要将NUM_TYPES封装到一个variables中,所以我没有在文件中散布相同的文字 有什么build议么? [编辑]在C常见问题中find这个: http : //c-faq.com/ansi/constasconst.html

什么是uint_fast32_t,为什么要用它来代替常规的int和uint32_t?

因此, typedef :ed原始数据types的原因是为了抽象低层表示,并使其更容易理解( uint64_t而不是long longtypes,即8个字节)。 但是, uint_fast32_t与uint32_t具有相同的typedef 。 将使用“快”版本使程序更快?

C#通过代理连接

我在办公室工作,要求通过特定的http代理进行所有连接。 我需要编写一个简单的应用程序来查询Web服务器的一些值 – 如果没有代理服务器,这很容易。 我如何使C#应用程序可以识别代理? 我怎样才能通过代理进行任何forms的连接?

generics方法如何,何时何地具体化?

这个问题让我想知道一个通​​用方法的具体实现在哪里实际存在。 我已经尝试过谷歌,但没有提出正确的search。 如果我们拿这个简单的例子: class Program { public static T GetDefault<T>() { return default(T); } static void Main(string[] args) { int i = GetDefault<int>(); double d = GetDefault<double>(); string s = GetDefault<string>(); } } 在我的脑海中,我一直认为在某些时候它会导致一个实现,有3个必要的具体实现,这样,在天真的伪压缩,我们将有这个逻辑的具体实现,其中使用的具体types导致正确的堆栈分配等。 class Program { static void Main(string[] args) { int i = GetDefaultSystemInt32(); double d = GetDefaultSystemFloat64(); string s = GetDefaultSystemString(); } […]

部分类文件的命名约定

我正在生成大量的ASP.NET MVC脚手架代码。 所有生成的文件都是使用标准命名约定的部分类。 例如,我的员工控制器文件名为EmployeeController.cs。 如果我想用定制的非生成逻辑扩展EmployeeController,我创build了一个名为EmployeeControllerCustom.cs的第二个部分类文件。 我将自定义和生成的逻辑分成两个不同的文件,所以下一次生成EmployeeController时,我的自定义更改不会被覆盖。 将“自定义”后缀添加到文件名似乎是合理的,但是我应该遵循一个更加成熟的部分类文件命名约定吗?

C ++ – 做什么?

我想知道[=]是什么? 这是一个简短的例子 template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); 代码如何处理[]而不是[=] ? std::function<T (T)> 意思是获得(T)作为参数和返回typesT的函数原型?

扩展方法可以应用于接口吗?

是否可以将扩展方法应用于接口? (C#问题) 这是例如达到以下目的: 创build一个ITopology界面 为这个接口创build一个扩展方法(例如public static int CountNodes(this ITopology topologyIf)) 那么当创build实现ITopology的类(例如MyGraph)时,它将自动具有Count Nodes扩展。 这样,实现接口的类将不必具有设置的类名称以与扩展方法中定义的内容相对应。