Tag: new operator

如何用C#编写文本文件

我需要将一个字符串写入C#的文本文件中,每个字符串都在新行上…我该怎么做?

这个新的是什么简写?

我似乎找不到任何关于new []应该是什么的文档。 从下面的例子看,它似乎是一个对象数组的简写 var json = new[] { new object[] {“20-Jun-2008”, 200 }, new object[] {“20-Jun-2009”, 250 } };

new()是什么意思?

WCF RIA Services中有一个AuthenticationBase类。 类定义如下: // assume using System.ServiceModel.DomainServices.Server.ApplicationServices public abstract class AuthenticationBase : DomainService, IAuthentication where T : IUser, new() new()在此代码中的含义是什么?

限制generics类型参数以具有特定构造函数

我想知道为什么generics类型参数的新约束只能在没有参数的情况下应用,也就是说,可以将类型约束为具有无参数构造函数,但是不能将类约束为具有(例如)构造函数的构造函数。接收一个int作为参数。 我知道这方面的方法,使用reflection或工厂模式,工作正常,好吧。 但我真的很想知道为什么,因为我一直在思考它,我真的想不出无参数构造函数和带有参数的区别,这些参数可以certificate对新约束的这种限制。 我错过了什么? 非常感谢 论点1:构造函数是方法 @Eric:让我和你在一起一会儿: 构造函数是方法 然后我想如果我这样做,没有人会反对: public interface IReallyWonderful { new(int a); string WonderMethod(int a); } 但是一旦我有了,那我就去: public class MyClass where T : IReallyWonderful { public string MyMethod(int a, int b) { T myT = new T(a); return myT.WonderMethod(b); } } 这首先是我想要做的。 所以,抱歉,但不, 构造函数不是方法 ,或者至少不完全。 关于实现这个function的困难,我真的不知道,即使我这样做了,我对于明智地支出股东资金的决定也没什么可说的。 这样的话,我会马上把它标记为答案。 从学术(我)的角度来看,也就是说,没有任何关于实施成本的问题,问题确实是(我在最近几个小时内完成了这个问题): 构造函数应该被视为类的实现的一部分,还是作为语义契约的一部分(以同样的方式将接口视为语义契约)。 如果我们将构造函数视为实现的一部分,那么,约束generics类型参数的构造函数不是一件非常通用的事情,因为这会将您的generics类型绑定到具体的实现,并且几乎可以说为什么完全使用generics? 构造函数的示例作为实现的一部分(在将指定任何以下构造函数作为ITransformer定义的语义协定的一部分时没有意义): public […]