Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 方法在同一个文件中还是在不同的文件中?哪个更好?_C#_Class_Object - Fatal编程技术网

C# 方法在同一个文件中还是在不同的文件中?哪个更好?

C# 方法在同一个文件中还是在不同的文件中?哪个更好?,c#,class,object,C#,Class,Object,我有一种方法可以在手机屏幕的页面上添加动态控件,每个页面都使用动态控件。我可以用两种方法来使用这个方法 1) 在该页面类的每个页面中编写此方法,并直接使用它们,而不创建该类的任何对象。 例如 2) 在不同的文件和不同的类中编写此方法,然后在创建该类对象的每个pageclass中使用此方法。 例如 1)代码变大,但不需要创建新对象 代码变小了,但每次都需要创建对象,这将占用控制类所有方法的内存 那么哪一个更好呢?您可以使用类继承 public class PageBase { protec

我有一种方法可以在手机屏幕的页面上添加动态控件,每个页面都使用动态控件。我可以用两种方法来使用这个方法

1) 在该页面类的每个页面中编写此方法,并直接使用它们,而不创建该类的任何对象。 例如

2) 在不同的文件和不同的类中编写此方法,然后在创建该类对象的每个pageclass中使用此方法。 例如

1)代码变大,但不需要创建新对象

代码变小了,但每次都需要创建对象,这将占用控制类所有方法的内存


那么哪一个更好呢?

您可以使用类继承

public class PageBase
{
    protected void DoSomething()
    {

    }
}

public class MyPage : PageBase
{
    public void DoMore()
    {
        this.DoSomething();
        //and more..
    }
}

是否有一个实现(受保护)方法的公共(抽象基类)类,并且所有页面都从该类继承?对于所有页面具有共同点的任何其他内容也很有用。另一种方法是静态类/方法,但在这种情况下感觉不对。每次我想使用的方法都有相同的功能。在抽象基类中,我只能声明一个方法,并且必须在每个类中一次又一次地定义相同的方法。我不能使用继承,因为我的类已经被.net创建的类继承了,该类来自无法编辑的元数据。那么我该怎么办呢?唉,太难看了,但是如果没有其他方法:
公共静态类PageControl{publicstaticvoidmethod(){/…}}
。无需每次都创建对象,只需调用
PageControl.method()
.yaa,但在我的情况下,我的类是class DevicePage:PhoneApplicationPage,它是真正继承的,而class PhoneApplicationPage来自元数据,元数据是由.net创建的,不能编辑。那么该怎么办呢?一个类在继承中不能有两个父类也可以从
类PageBase:PhoneApplicationPage继承PageBase
错误:“vUrja_Mobile_Json.DevicePage”的部分声明不能指定不同的基类此错误来自于。。。。
// file: Controls.cs
class Controls
{
    //declaration   
        void method()
    {
        //defination
    }

    //other fields and methods are also here which will not use     //all time but will occupy memory each time when i wll creat        //objects of this class
}

// file: Page.cs
class Page
{
    //use here creating object
    Controls obj = new Controls();
    obj.method();
}
public class PageBase
{
    protected void DoSomething()
    {

    }
}

public class MyPage : PageBase
{
    public void DoMore()
    {
        this.DoSomething();
        //and more..
    }
}