Я работаю над приложением VB6, которое использует объекты .NET через COM Interop.Приложение работает хорошо, но я чувствую, что испытываю снижение производительности каждый раз, когда создаю экземпляр объекта .NET из VB6.
Например, у меня есть код VB6, который перебирает набор записей и создает новые.NET объекты для каждого элемента в наборе записей и добавления его в массив (CartItem
и DiscountEngine
оба являются объектами .NET):
Set lCartItemClass = New CartItem
Set lCartItem = lCartItemClass
lCartItem.SKU = .Fields("SKU").Value
lCartItem.Quantity = .Fields("Quantity").Value
Set lCartItemsClass(i) = lCartItem
'... '
mCartClass.CartItems = lCartItemsClass
Set mDiscountEngine.Cart = mCartClass
Я бы нашел выигрыш в производительности, добавив метод фабрикичто принимает параметры, которые я хочу для моих свойств и обрабатывает создание объектов на стороне .NET выполнения?Поэтому вместо приведенного выше кода у меня будет что-то вроде:
mDiscountEngine.Cart.AddCartItem( .Fields("SKU").Value, _
.Fields("Quantity").Value)