Поминете го постојниот FileSystemObject или создадете повеќе примери

Имам неколку постапки што го користат FileSystemObject. Сметам дека е доста погодно.

Прашање: Дали е разумно да се пренесе постоечка инстанца на FileSystemObject од „главна“ постапка на овие други постапки како аргумент, наместо секоја постапка да креира своја инстанца на FileSystemObject?

Пример: дали е подобро во каков било начин да го сторам тоа:

Sub MainSub()
    Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
    Call OtherSub(FSO, myargs)
    ' call other subs and functions that use FileSystemObject
End Sub

Sub OtherSub(FSO, myargs)
    ' Do stuff with FSO
    ' call other subs and functions that use FileSystemObject
End Sub 

што сум видел како го прави барем еден програмер, наместо следново, што е она што обично го правам:

Sub MainSub()
    Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
    Call OtherSub(myargs)
    ' call other subs and functions that use FileSystemObject
End Sub

Sub OtherSub(myargs)
    Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
    Call OtherSub(myargs)
    ' Do stuff with FSO
    ' call other subs and functions that use FileSystemObject
End Sub 

Јас можам да ја видам идејата за правење на претходното со тоа што ова потенцијално ги намалува општите трошоци поврзано со постоење повеќе примери на FileSystemObject. Но, се чини страшно незгодно да треба секој пат да се помине FSO како аргумент. И сериозно, дали главната глава е толку голема?

5
задан Jean-François Corbett 28 June 2011 в 17:32
поделиться