C# 防止使用基窗体/控件类
我正在做一个项目,我们有10个表单和控件。 在编写程序的过程中,生成了一个继承的表单和控件,该表单和控件应该用于将来的所有表单/控件,因此如果需要在控件级别进行更改。它将应用于整个应用程序 大多数情况下都遵循这一点,但每隔一段时间,就会使用基类生成一个窗体或控件C# 防止使用基窗体/控件类,c#,C#,我正在做一个项目,我们有10个表单和控件。 在编写程序的过程中,生成了一个继承的表单和控件,该表单和控件应该用于将来的所有表单/控件,因此如果需要在控件级别进行更改。它将应用于整个应用程序 大多数情况下都遵循这一点,但每隔一段时间,就会使用基类生成一个窗体或控件 有没有办法防止使用基本表单/控件,并强制使用特定白名单之外的继承表单/控件?在查看了原始问题注释中提供给我的选项后,我找到了自己的解决方案,该解决方案将适用于我们的开发和部署流程 由@CodeCaster和@JonasH提供的您应该使用
有没有办法防止使用基本表单/控件,并强制使用特定白名单之外的继承表单/控件?在查看了原始问题注释中提供给我的选项后,我找到了自己的解决方案,该解决方案将适用于我们的开发和部署流程 由@CodeCaster和@JonasH提供的您应该使用的第一个解决方案
- User@CodeCaster,我研究.Net代码质量 以及Roselyn analyzer提供的样式
- User@JonasH建议我考虑部署一个持续集成服务器,用于构建我们的软件
Assembly myAssembly = Assembly.GetExecutingAssembly();
Type[] myTypes = myAssembly.GetTypes();
foreach (Type type in myTypes)
{
if (type?.BaseType?.Name == "Form")
{
Console.WriteLine(type.FullName);
}
}
然后,您可以使用它过滤掉应该从表单继承的“白名单”表单,并通知开发人员任何其他未被白名单的表单可以强制所有开发人员使用这些表单吗?上次我使用Roslyn analyzer时,它只为我自己使用。您应该在持续集成服务器上运行所有代码分析。它们包含在您的项目中,并在编译时应用,因此所有开发人员都会看到提示或警告。@JonasH遗憾的是,我们还没有,但我们正在计划在不久的将来使用它。