static-classes

    4熱度

    3回答

    類 我有如下類結構基類的靜態成員的單獨的副本: public abstract class PresenterBase { public static Dictionary<string, MethodInfo> methodsList; public void Bind() public void Initialize(); } public class

    0熱度

    1回答

    我想了解靜態類的效率,因爲我認爲我在這方面的基本思想可能有缺陷。我經常編寫如下的代碼,假設昂貴的反射調用將不太經常發生,因爲私有變量將保存訪問者的信息。我非常確定這是非靜態類和實例屬性的良好習慣,但是在靜態類中使用此構造還是有什麼好處,或者是否需要在每次調用公共訪問器時實例化私有字段? using System.Reflection; public static class Applicatio

    4熱度

    2回答

    我正在尋找一種在PHP 5.x中使用靜態類實現適配器模式的好方法。 我想要使用它的一個例子是Python的os.path.join()的一個例子。 我會有兩個適配器,一個Windows和一個Linux適配器類。 我認爲這是合理的,將這些類實現爲靜態類,因爲它們沒有「上下文」。他們不需要存儲任何狀態並在每次需要時創建實例似乎都是多餘的 - 因此我正在尋找一種乾淨的方式來實現這一點。 讓我們考慮以下虛

    11熱度

    3回答

    我想序列化一個非常平凡,普通類,但美中不足的是它是嵌套在一個靜態類是這樣的: public static class StaticClass { [Serializable] public class SomeType { ... } } 此代碼: StaticClass.SomeType obj = new StaticClass.So

    0熱度

    2回答

    我正在使用粒子列表。 List<Particle> particles; 通常我把這個列表放在我的模擬類中。它計算粒子的位置,速度和其他屬性。 其他一些類需要用於輸出和後處理的粒子數據。 是確定以創建一個靜態類, static class Particles { static List<Particles> plist; } 從其他類訪問粒子數據?

    3熱度

    2回答

    這是很長的時間,因爲我試圖找出有關靜態類的真相。我的觀點是:當使用新操作符時,值類型被分配到堆棧中,堆中的引用類型。但是靜態類的本質是你不能創建它的一個實例,並且確定它不是一個值類型。所以我有一個問題,在什麼時候CLR爲靜態內容分配內存?關於什麼時候......我在編譯期間假設一個程序集被構建時,但我不確定。以及關於哪裏...當我試圖找出我閱讀J.Richter的「通過C#的CLR」,並且他寫道,

    1熱度

    1回答

    我需要創建一組靜態類,它們都需要實現相同的方法。我想找到一種方法來迫使他們如此。 我知道靜態類不能派生除System.Object以外的任何東西。我應該使用非靜態方法嗎?它可能是,但這個類的方法都不會使用實例屬性... 我最好的照片是我應該使用單例。然後我會使用一個實例,但至少我不會在每次需要使用方法時都強制實例化類。 你有什麼建議嗎? 編輯: 我不會實現這些方法。我需要強制其他開發人員實現具有特

    5熱度

    2回答

    我曾經讀過靜態類非常困難,甚至無法調試。這是真的嗎?爲什麼? 如果一個例子會有所幫助,這裏是一個PHP類我用來訪問數據庫(我不認爲這是一個PHP特定的問題,雖然): <?php class DB { private static $instance; private function __construct() { } public static funct

    0熱度

    2回答

    以下代碼來自winforms應用程序,它在按鈕事件上打開業務對象6.5的實例,刷新報表,然後將報表中的數據轉儲到csv文件中,然後退出業務對象實例。 我第一次運行它完美的代碼,但是如果我再次運行它,我得到就行 boApp.LoginAs(userName, Password, false, null); 引發的異常是「無效的對象」異常。 我認爲這是由於boApp尚未重新初始化,而且這是我對靜態

    5熱度

    2回答

    如果我們的項目中還有一個靜態類,那麼哪個靜態類首先初始化? 例如:下面的代碼給出了null異常。 class Program { static void Main(string[] args) { First.Write(); Second.Write(); } } static class First