使用R#有一种方法可以查看/导航当前类中的方法集吗?
我知道你可以使用VS'原生的右上角下拉菜单,但我想要一个快捷方式.
这似乎是R#的一个显而易见的特征,因为与其他程序员的编辑相比,这是我在VS中最想念的东西.
谢谢,马特
(ps.抱歉,如果这篇文章出现两次,但第一次尝试似乎没有成功发布)
我想控制一堆类的创建,这些类都共享一个公共接口,并且在构造中都需要一些逻辑.另外,我不希望除了类工厂之外的任何其他代码能够从这些类创建对象.
我的主要障碍是:
(1)对于能够创建类实例的泛型方法,我需要new()约束,这意味着我必须在类上有一个公共构造函数,这意味着它们可以公开创建.
(2)另一种方法是让类本身具有一个返回类实例的静态方法.但我无法从我的泛型类中调用它,因为我需要处理接口/类型,并且不能通过接口进行静态处理.
这是我目前得到的那种东西,但是它使用了new()约束,它允许公开创建我的类:
internal static class MyClassFactory
{
internal static T Create<T>(string args) where T : IMyType, new()
{
IMyType newThing = new T();
newThing.Initialise(string args);
return (T)newThing;
}
}
public interface IMyType
{
void Initialise(string args);
}
public class ThingA: IMyType
{
public void Initialise(string args)
{
// do something with args
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢:)
我正在使用 dotnet 核心。这是针对 CI 流程,而不是本地构建。我希望允许开发人员为标题等内容创建 AssemblyInfo.cs 文件,但我希望我的构建过程能够控制程序集的版本。
目前我正在使用“dotnet build ... /p:Version=1.2.3.4”命令,但一旦出现 AssemblyInfo.cs 文件,即使 AssemblyInfo.cs 未指定,此版本号也会被取代任何版本属性。
我可以从 CLI 控制版本的唯一方法是删除 AssemblyInfo.cs 文件。有没有什么方法可以做到这一点,而无需在构建之前手动更改 AssemblyInfo.cs 文件?
有没有办法通过MSTEST部署保留文件夹结构?
我有一些现有代码的情况,我在子文件夹中有.config文件(称为"配置").我可以使用MSTEST部署指定此文件夹,但是,无论如何,MSTEST只是将文件从此文件夹复制到运行文件夹(TestResult \\ Out),即它不会创建名为Configuration的子文件夹.这真的搞砸了代码,它失败了.我真的不想开始使用复杂的预测试脚本来创建文件夹等.
任何想法都感激不尽.
马特
我有一个创建多个基于 I/O 的任务的解决方案,我正在使用 Task.WhenAny() 来管理这些任务。但通常许多任务会由于网络问题或请求限制等而失败。
在使用 Task.WhenAny() 方法时,我似乎找不到使我能够成功重试失败任务的解决方案。
这是我在做什么:
var tasks = new List<Task<MyType>>();
foreach(var item in someCollection)
{
task.Add(GetSomethingAsync());
}
while (tasks.Count > 0)
{
var child = await Task.WhenAny(tasks);
tasks.Remove(child);
???
}
Run Code Online (Sandbox Code Playgroud)
所以上述结构适用于完成任务,但我还没有找到处理和重试失败任务的方法。该await Task.WhenAny抛出AggregateException,而不是让我检查任务状态。当在异常处理程序中时,我不再有任何方法重试失败的任务。