2009-05-07 2 views
0

Je construis un webpart qui inclut une fonction avec un SPList comme argument. La liste passée augmentera au fil du temps, ce qui me préoccupe d'un problème d'évolutivité. Devrais-je m'inquiéter des problèmes de performance potentiels en utilisant cette méthode?Passage d'objets SharePoint en tant qu'arguments de fonction. Est-ce mauvais?

Si vous pouvez offrir un aperçu sur d'autres objets SharePoint (SPSite, etc) concernant ma question ou fournir un lien vers d'autres lectures sur ce sujet, je serais très reconnaissant!

Répondre

2

Pourquoi cela serait-il un problème? Pensez-vous que les données de la liste seront copiées lorsque vous appelez la fonction? Ce ne sera pas. SPList est une référence à un objet SPList et vous ne copiez que la référence.

Sinon, je ne vois pas pourquoi il y aurait un problème d'évolutivité. Veuillez indiquer pourquoi vous pensez qu'il pourrait y en avoir un.

+0

C'était exactement ma question. Je ne savais pas exactement comment C# passait les objets. Encore une question pour satisfaire ma curiosité cependant: y aurait-il une différence entre déclarer/passer l'objet SP avec ref plutôt que le passer «normalement»? –

+0

Vous n'avez pas dit quelle langue vous utilisez, n'est-ce pas? Les références sont des références. Si, pour une raison quelconque, vous avez passé une référence à la référence, vous passez toujours une référence. –

1

Pour ajouter à la réponse John Saunders, des objets tels que SPList, lorsque instancié, ne crée pas une liste de toutes les données en mémoire. Au contraire, il crée une connexion avec où les données de la liste sont stockées dans la base de données, et tous les appels sur cet objet déclenchent son propre SQL sur le backend. En substance, l'objet SPList est une référence elle-même. Le passer en paramètre est correct!

+0

vous êtes les bienvenus :) En plus ... c'est une information utile! – yano

Questions connexes