Быть относительно в новинку для Python, я не уверен, какова наиболее распространенная идиома, но самая простая вещь, о которой я могу думать, просто использует модуль вместо класса. Что было бы методами экземпляра для Вашего класса, становятся просто функциями в модуле, и любые данные просто становятся переменными в модуле вместо членов класса. Я подозреваю, что это - подход pythonic к решению типа проблемы, для которой люди используют одиночные элементы.
, Если Вы действительно хотите singleton-класс, существует разумная реализация, описанная на первый хит на Google для "одиночного элемента Python", конкретно:
class Singleton:
__single = None
def __init__( self ):
if Singleton.__single:
raise Singleton.__single
Singleton.__single = self
, Который, кажется, добивается цели.
список недавно исправленных ошибок можно найти здесь: http://msdn.microsoft.com/en-us/library/cc713578.aspx Они называют это «Критическими изменениями».
Попробуйте http://connect.microsoft.com/feedback/default.aspx?SiteID=210
Какую версию .Net framework кстати?
Я считаю что среда CLR в значительной степени стабильна и свободна от ошибок, начиная с .Net 1.1 SP 1, конечно, если есть сомнения, предположите, что это ошибка в вашем коде, а не .Net!
Компилятор C # испускает вызовы конструктору System.Decimal (int32, int32, int32, bool, byte) для десятичных литералов, подобных следующему:
public static readonly decimal MaxValue = 79228162514264337593543950335M;
Если вы реализуете mscorlib, и вы Если не использовать этот конструктор, компилятор C # выйдет из строя вместо того, чтобы выдать сообщение об ошибке CS0656 , указывающее на отсутствие элемента, необходимого компилятору.
Я знаю об ошибках в C # IntelliSense, отладчик .NET и .NET framework, но вы только что спросили о компиляторе. : o