C#-显示winform中的过时警告,并具有时间戳
本文关键字:时间戳 警告 过时 显示 winform C#- | 更新日期: 2023-09-27 18:20:37
我想知道是否有一种方法可以在将方法标记为过时时应用日期?我对日期的意思是,这个日期代表了应该永远删除这个函数的"日期"。
还有一个NooB问题,有没有一种方法可以使用MessageBox.show()
在winform中显示错误/警告消息
这意味着当在这个:
[ObsoleteAttribute("This class is obsolete; use class B instead")]
有什么方法可以调用ObsoleteAttribute
的Message函数吗?
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[ObsoleteAttribute("This class is obsolete; use class B instead")]
class A
{
public void F() { }
}
class B
{
public void F() { }
}
private void button1_Click(object sender, EventArgs e)
{
A a = new A(); // Warning
a.F();
}
private void button2_Click(object sender, EventArgs e)
{
B b = new B();
b.F();
}
}
}
为您的过时设置日期不是一个好主意。总有一些东西会拖延事情。另外,在删除过时元素之前,您可能需要检查它的使用情况。也许有些人忽略了您的警告。也许每个人都这么做了。你真的想仅仅因为日历上的一天已经到来就破坏他们所有的代码吗?
因此,由于这不是一个好主意,因此不支持。当然,你可以在报废警告文本中写一个日期。
为了回答您的第二个问题,这是如何在运行时访问过时警告文本,以便将其显示为消息框。
ObsoleteAttribute attribute = typeof(A).GetCustomAttribute<ObsoleteAttribute>();
if (attribute != null)
{
MessageBox.Show(attribute.Message);
}
但请注意,这确实是对过时概念的滥用。过时是程序员的警告,而不是最终用户的警告。最终用户并不关心运行中的代码有多过时或被弃用,他只希望自己的程序能够正常工作。确保这种情况发生是程序员的职责。因此,程序员在编译时会收到警告消息。用户不应该为此而烦恼。