Закрытие файла после File.Create [duplicate]

Во многих проектах, над которыми я работаю, всякий раз, когда мне нужно вернуть коллекцию только для чтения, я использую интерфейс IEnumerable и делаю его специфичным для типа следующим образом:

Public ReadOnly Property GetValues() As IEnumerable(Of Integer)
    Get
        'code to return the values'
    End Get
End Property

В большинстве случаев я вернуть список, но в некоторых функциях и свойствах, доступных только для чтения, я возвращаю массив, который также служит цели, любезно предоставленной методами расширения.

Мой вопрос: нарушаю ли я какие-либо принципы проектирования, возвращая IEnumerable вместо определенных типов (например: List , HashSet , Stack MyString.prototype = { ...

I m using prototype inheritance as described in https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/Proto

function MyString(data){this.data = data ;}
MyString.prototype = { data : null,
 toString: function(){ return this.data ;}
} ;

MyString.prototype.__proto__ = String.prototype ;

Now I can use String functions and MyString functions on MyString instances.

But since __proto__ is deprecated, non standard and should be avoided, what would be the best way to inherists objects ?

I found http://ejohn.org/blog/simple-javascript-inheritance/ and it still looks a bit complex and somewhat overkill, compared to a single-line code :)

Edit: Thanks for your answers !

8
задан azerty 2 March 2011 в 09:02
поделиться