Tag: .net

我应该实例化一个新的代表吗?

我刚刚意识到我可以通过两种方式添加事件处理程序: 考虑像这样的事件处理程序: private void MyEventHandler() {} 方法1:实例化新委托 MyObject.MyEvent += new Action(MyEventHandler); 方法2:添加事件处理程序而不实例化新委托 MyObject.MyEvent += MyEventHandler; 应该考虑这两种实现之间有什么区别吗?

如何在C#中禁用无参数构造函数

abstract class CAbstract { private string mParam1; public CAbstract(string param1) { mParam1 = param1; } } class CBase : CAbstract { } 对于类CBase,应该通过提供参数来初始化它,那么如何禁用CBase类的无参数构造函数?

在MVVM中async / await是无用的吗?

在MVVM中,ViewModels通过INotifyPropertyChanged事件更新视图,async / await的酷炫function似乎没有多大空间; 在调用者的捕获同步上下文上执行继续。 那么,如果是这种情况,那么谁将在现代基于UI的应用程序中实际使用async / await的function? 在这种情况下,“谁”也可以表示什么样的模式,例如MVC变化。 我认为以下是使用TAP的好方法 ViewModel.Age { set { await Model.SetAge(value); NotifyPropertyChanged(“Age”); } } 但是,在捕获的syncContext上运行此操作并没有多大帮助。 实际上,我们可以将所有这些都放在模型中。 Model.Age { set { await SetAge(value); NotifyPropertyChanged(“Age”); } } 现在,我们真的希望syncContext不是捕获的。

如何validationX509证书?

我必须编写一个工具来validationX509证书是否有效(输入=证书路径/主题和密码)。 我怎样才能做到这一点? 我不太了解证书……

C#Regex.Match只有花括号 – 内容? (不包括牙箍)

我一直无法找到答案:我可以使用Regex.Matches方法仅返回带花括号的项目的内容吗? 如果我使用正则表达式({[^}]*})我的MatchCollection值包括大括号。 我想匹配,但只返回内容。 这是我到目前为止所拥有的: Regex regex = new Regex(({[^}]*}), RegexOptions.IgnoreCase); MatchCollection matches = regex.Matches(“Test {Token1} {Token 2}”); // Results include braces (undesirable) var results = matches.Cast().Select(m => m.Value).Distinct().ToList();

什么消耗更少的资源,并且更快地存储在StringBuilder中的File.AppendText或File.WriteAllText?

我必须将数千条动态生成的行写入文本文件。 我有两个选择,哪个消耗更少的资源并且比另一个更快? A.使用StringBuilder和File.WriteAllText StringBuilder sb = new StringBuilder(); foreach(Data dataItem in Datas) { sb.AppendLine( String.Format( “{0}, {1}-{2}”, dataItem.Property1, dataItem.Property2, dataItem.Property3)); } File.WriteAllText(“C:\\example.txt”, sb.ToString(), new UTF8Encoding(false)); B.使用File.AppendText using(StreamWriter sw = File.AppendText(“C:\\example.txt”)) { foreach (Data dataItem in Datas) { sw.WriteLine( String.Format( “{0}, {1}-{2}”, dataItem.Property1, dataItem.Property2, dataItem.Property3)); } }

从类型集合中获取公共基类的最简单方法

我正在构建一个自定义属性网格,用于显示集合中项目的属性。 我想要做的是只显示网格中每个项目中常见的属性。 我假设最好的方法是找到集合中每种类型的公共基类并显示它的属性。 有没有更简单的方法? 你能给我一个最佳方法的代码示例吗?

如何克服OutOfMemoryException从API中提取大型xml文档?

我从API中提取1M +记录。 pull工作正常,但是当我尝试将ReadToEnd转换为字符串变量时,我遇到了内存ReadToEndexception。 这是代码: XDocument xmlDoc = new XDocument(); HttpWebRequest client = (HttpWebRequest)WebRequest.Create(uri); client.Timeout = 2100000;//35 minutes WebResponse apiResponse = client.GetResponse(); Stream receivedStream = apiResponse.GetResponseStream(); StreamReader reader = new StreamReader(receivedStream); string s = reader.ReadToEnd(); 堆栈跟踪: at System.Text.StringBuilder.ToString() at System.IO.StreamReader.ReadToEnd() at MyApplication.DataBuilder.getDataFromAPICall(String uri) in c:\Users\RDESLONDE\Documents\Projects\MyApplication\MyApplication\DataBuilder.cs:line 578 at MyApplication.DataBuilder.GetDataFromAPIAsXDoc(String uri) in c:\Users\RDESLONDE\Documents\Projects\MyApplication\MyApplication\DataBuilder.cs:line 543 我该怎么做才能解决这个问题?

如何使用DDD / CQRS编写function

我有一个银行帐户域名,如下所示。 可以有SavingsAccount,LoanAccount,FixedAccount等。 一个用户可以拥有多个帐户。 我需要添加一个新function – 为用户获取所有帐户。 编写函数应该在哪里以及如何编写? 如果解决方案遵循SOLID原则(开放原则,……)和DDD,那将是很好的。 任何可以使代码更好的重构都是受欢迎的。 注意:AccountManipulator将由网站客户端通过Web服务使用。 namespace BankAccountBL { public class AccountManipulator { //Whether it should beprivate or public? private IAccount acc; public AccountManipulator(int accountNumber) { acc = AccountFactory.GetAccount(accountNumber); } public void FreezeAccount() { acc.Freeze(); } } public interface IAccount { void Freeze(); } public class AccountFactory { public static IAccount […]

如何将WebClient与.NetCore一起使用?

有没有办法在.NET Core应用程序中使用WebClient ? 如果我构建应用程序,我会收到以下错误: Severity Code Description Project File Line Error CS0246 The type or namespace name ‘WebClient’ could not be found (are you missing a using directive or an assembly reference?) 我认为WebClient不是.NET Core的一部分,但还有其他选择吗?