在页面partial或method中实例化ASP.NET中的C#类

use*_*940 6 c# asp.net class

我可能没有清楚地解释这一点.但是在部分类内部和每个方法内部创建类有什么缺点?(请看例子)

部分内部示例:

public partial class test: System.Web.UI.Page
{

cSystem oSystem = new cSystem();

protected void Page_Load(object sender, EventArgs e)
    {
    oSystem.useme();
}
protected void btnSubmit_Click(object sender, EventArgs e)
    {
    oSystem.usethis();
}
Run Code Online (Sandbox Code Playgroud)

每个类中的示例:

public partial class test: System.Web.UI.Page
{


protected void Page_Load(object sender, EventArgs e)
    {
    cSystem oSystem = new cSystem();
    oSystem.useme();
}
 protected void btnSubmit_Click(object sender, EventArgs e)
    {
    cSystem oSystem = new cSystem();
    oSystem.usethis();
}
Run Code Online (Sandbox Code Playgroud)

Cla*_*edi 1

在每个方法上创建新实例的一个场景是,如果您需要将对象状态保留在方法范围之外。在这种情况下,每个方法一个实例将是错误的,但我认为这不适合您。

其他可能需要考虑的重要事项是该特定对象是否难以创建。

在大多数情况下,这只是一个品味问题,因为从性能的角度来看,它通常没有什么区别。

如果您多次创建相同的实例并且可以使用单个全局实例执行相同的工作,则第一种情况可能更合适。只是为了避免重复相同的实例化行。