Acerca de | Artículos | Servicios | Software | Contacto

Últimas Free Software SharePoint

ARB Soluciones de seguridad publica periódicamente el software libre de SharePoint, incluyendo WebParts, las aplicaciones cliente, las extensiones de Marco, y componentes diversos.
El freeware más reciente es:

Título: simple continuación de SharePoint WebPart
Fecha de publicación: 10/22/2009

Dos anteriores de Libre WebPart de prensa:

SecureCenter para SharePoint

Por los integradores de seguridad de SharePoint, para los integradores de seguridad de SharePoint.

SharePoint Security Assurance Program ™

Para el exterior frente a las implementaciones de SharePoint, la seguridad es una preocupación importante despliegue de forma aguda. Aprenda cómo a través de la seguridad cotidiana de escaneo, se puede asegurar que los usuarios y socios de negocios externos para que puedan colaborar en la confianza!

Security Assurance WebPart:



Escribir Métodos de extensión para SharePoint

Los métodos de extensión es una formidable construcción de la programación que aumentan la extracción de la aplicación y modularizar segmentos de código, y se presta bien para llenar los vacíos que puedan estar presentes en una API cerrados, como el que ofrece SharePoint. Muchas veces puede ser un método particular, que es deseable en un tipo particular, sin embargo las condiciones para las que no están disponibles en la API enviadas por el sellado y modifica otras. Utilización de métodos de extensión, es posible evitar esta limitación, mientras que el mantenimiento de una aplicación limpia que puede evitar las referencias profunda del árbol de herencia.

Los métodos de extensión son cada vez más importante cuando se trabaja con el código de SharePoint porque la mayoría de los objetos que normalmente el mandato de las personalizaciones de la conducta, por ejemplo, sobre tipos SPList, está decorado con un acceso sellados vez negando así la herencia posible. Esto es más apreciable cuando se trabaja con objetos de burla, que fuera de ciertos marcos (es decir, Typemock) requieren una clase sin sellar, y un constructor predeterminado.

A diferencia de la prestación de la definición del método dentro de la clase, un método de extensión se define simplemente por una asociación, que figura en una clase estática independiente con el apoyo de la clase parcial de construcciones (es decir, debe existir en un espacio de nombres en el ámbito actual). El método en sí se invoca utilizando la sintaxis de método de instancia, lo que permite una cierta familiaridad nivel en el código de construcciones. Si bien el método es estático, se puede llamar sólo en los casos definidos en los parámetros. En esencia, un método de extensión permitirá la inyección de un método en otra clase, por lo que se declara como si fuera parte de ella.

A fin de reducir la ambigüedad método debido a los métodos de extensión se define sólo por el nombre del método, es importante tener en cuenta la convención de nomenclatura apropiada (de hecho, si la firma es la misma la extensión será ignorado!). Además, los tipos de SharePoint que se extenderá Naturalmente, son aplicables a la revisión de la API, como se presenta por MSFT. Por lo tanto, cuando los cambios en la API, no puede ser el nivel deseado de compatibilidad hacia atrás.

La sintaxis de un método de extensión es muy simple (es importante notar que mientras VB.NET requiere el atributo de extensión que se determine, C # no. Sin embargo, en C # nos vemos obligados a crear una copia del objeto / valor de retorno para que iguala it out!).

C #:
  1. Extensions público clase estática Extensions
  2. (
  3. this Type type ) público HacerAlgo tipo estático (este tipo de tipo)
  4. (
  5. / / Let's Get algo va!
  6. )
  7. )

Usted puede ver que en la clase estática Extensions el método HacerAlgo tiene su único parámetro decoradas con el modificador de esta palabra clave, para indicar el tipo al que este método aumenta. Así, por ejemplo al escribir los métodos de extensión para extender la clase SPList (sin ningún parámetro adicional), nuestra clase que de esta manera:

C #:
  1. Extensions público clase estática Extensions
  2. (
  3. this SPList list ) público HacerAlgo tipo estático (esta lista SPList)
  4. (
  5. / / Let's Get algo va!
  6. )
  7. )

Pero eso no está haciendo mucho, así que vamos a tomar un ejemplo más pragmático.

En la continuación, doy por sentado que dentro de una aplicación, los objetos SPList, yo voy a ser con frecuencia reordenamiento de la instancia actual de recogida SPListItem en un orden descendente por la fecha de modificación, a continuación, la recuperación de los últimos 5 elementos.

En el HarvestLastFive, se nota que estoy en primer lugar, especificando el tipo de destino mediante el uso de la palabra clave con el tipo de SPList. A continuación, estoy construyendo una SPListItemCollection de la SPList.Items, que luego utiliza el método de LINQ OrderByDescending en combinación con la propiedad SPBuiltInFieldId.Modified para manejar el pedido. Por último, Take muestra los primeros 5 artículos de la colección vez. Si sólo quería que el reordenamiento (una variedad de extensiones que utilizo tal uso modificadores de recogida de LINQ para apoyar la manipulación mejorada) sólo llevaría a cabo la Toma declaración.

C #:
  1. Extensions público clase estática Extensions
  2. (
  3. this SPList typeToTarget ) public static IEnumerable <SPListItem> HarvestLastFive (este typeToTarget SPList)
  4. (
  5. intentar
  6. (
  7. Colección SPListItemCollection = typeToTarget. Items;
  8. x => x [ SPBuiltInFieldId. Modified ] ) . Take ( 5 ) ; finalCollection var = tempCollection. OrderByDescending (x => x [SPBuiltInFieldId. Modificado]). Tome (5);
  9. finalCollection retorno;
  10. )
  11. Exception exception ) catch (Exception excepcion)
  12. (
  13. )
  14. return null;
  15. )
  16. )

Usted puede ver en los miembros de la clase de extensiones, que el método de HarvestLastFive tiene un icono diferente (pequeña flecha hacia abajo), que especifica como un método de extensión.

extensionInVsNet Writing Extension Methods for SharePoint

Utilizando el método en una clase es analgous a otros métodos disponibles en ese tipo. Por ejemplo, el método HarvestLastFive toma la forma:

C #:
  1. public static void TestingExtensionMethod ()
  2. (
  3. . Lists [ "My List" ] ; SPList list = SPContext. Actual. Web. Listas [ "Mi Lista"];
  4. ; colección var = lista. HarvestLastFive ();
  5. / / Haz lo que quieras!
  6. )

Dentro de Visual Studio, este método se observa como un método de extensión en la descripción con el prefijo (extensión).

extensionUsed Writing Extension Methods for SharePoint

Esto debe darle suficiente para ponerse en marcha en los métodos de extensión. Voy a publicar algunos de mis métodos de extensión común que yo uso con SharePoint en breve, ya que se entiende que se trata de una introducción.

  • Compartir / Guardar

4 Comentarios »

  1. [...] Este artículo es también porque la gente dijo que requiere un método de extensión más reutilizables (como aquí), ejemplo que aprovechó de SharePoint. Los tiranos! Mientras yo estaba haciendo una revisión de código que golpeó a algunos de los segmentos de calendario de SharePoint he encontrado esta cuestión surgen. Al pasar los parámetros de la fecha en SPUtility.FormatDate se espera que sea en UTC, que en mi caso particular, así como yo asumiría los demás, era inexacto, ya que se almacenan como hora local. Esto se puede superar mediante el uso de los métodos proporcionados por la clase SPWeb.RegionalSettings.TimeZone, lo que permitirá un análisis adecuado que se produzca en los objetos SPWeb para apoyar la reconversión adecuado. [...]

    Pingback por SharePoint Shelter »Blog Archive» recordarse al utilizar SPUtility.FormatDate a UTC (Método de extensión) - 29 de septiembre, 2008 @ 11:17 am

  2. [...] Interesante artículo de Adam Buenz Como Construir sobre métodos de extensión para SharePoint. [...]

    Pingback por WSS 3.0 & MOSS: Recopilatorio de enlaces interesantes (XXII)! «Pasión por la tecnología ... - 4 de noviembre, 2008 @ 8:51 am

  3. [...] Teniendo esto un paso más allá y por medio de la técnica que Adán Buenz de escribir en blogs sobre Métodos de extensión para SharePoint es incorporado en la clase SPList así: [...]

    Pingback por el ISEA (sólo para usuarios de iPod y iTouch) - 1 de febrero, 2009 @ 12:57p.m.

  4. [...] Método consiste en ampliar el objeto SPList por escrito Extensiones Métodos. Esto se describe aquí, muchas gracias a Adam Buenz Posted Oct 09 2009, 04:20 PM por Nadine Storandt Filed under: MOSS, [...]

    Pingback por SPList no tiene la URL predeterminada de la propiedad - Nadine Puestos - developers.de - 9 de octubre, 2009 @ 7:35 am

RSS de comentarios de esta entrada. TrackBack URL

Deja tu comentario