Metodos externos

Páginas: 6 (1488 palabras) Publicado: 12 de noviembre de 2011
Métodos externos
    Un método externo es aquél cuya implementación no se da en el fichero fuente en que es declarado. Estos métodos se declaran precediendo su declaración del modificador extern. Como su código se da externamente, en el fuente se sustituyen las llaves donde debería escribirse su cuerpo por un punto y coma (;), quedando una sintaxis de la forma:
extern<nombreMétodo>(<parámetros>); |
     La forma en que se asocie el código externo al método no está definida en la especificación de C# sino que depende de la implementación que se haga del lenguaje. El único requisito es que no pueda definirse un método como abstracto y externo a la vez, pero por todo lo demás puede combinarse con los demás modificadores, incluso pudiéndose definir métodosvirtuales externos.
    La forma más habitual de asociar código externo consiste en preceder la declaración del método de un atributo de tipo System.Runtime.InteropServices.DllImport que indique en cuál librería de enlace dinámico (DLL) se ha implementado. Este atributo requiere que el método externo que le siga sea estático, y un ejemplo de su uso es:

  usingSystem.Runtime.InteropServices;  // Aquí está definido DllImport
 
  public class Externo
  {
   [DllImport("kernel32")]
   public static extern void CopyFile(string fuente, string destino);
 
   public static void Main()
   {
    CopyFile("fuente.dat", "destino.dat");
   }           
  } |
El concepto de atributo se explica detalladamente en el Tema 14:Atributos. Por ahora basta saber que losatributos se usan de forman similar a los métodos sólo que no están asociados a ningún objeto ni tipo y se indican entre corchetes ([]) antes de declaraciones de elementos del lenguaje. En el caso concreto de DllImport lo que indica el parámetro que se le pasa es cuál es el fichero (por defecto se considera que su extensión es .dll) donde se encuentra la implementación del método externo a continuacióndefinido.
    Lo que el código del ejemplo anterior hace es simplemente definir un método de nombre CopyFile() cuyo código se corresponda con el de la función CopyFile() del fichero kernel32.dll del API Win32. Este método es llamado en Main() para copiar el fichero de nombre fuente.dat en otro de nombre destino.dat. Nótese que dado que CopyFile() se ha declarado como static y se le llama desde lamisma clase donde se ha declarado, no es necesario precederlo de la notación <nombreClase>. para llamarlo.
    Como se ve, la utilidad principal de los métodos externos es permitir hacer llamadas a código nativo desde código gestionado, lo que puede ser útil por razones de eficiencia o para reutilizar código antiguamente escrito pero reduce la portabilidad de la aplicación.
10.5.7 Métodosexternos
Visual Studio .NET 2003
Cuando una declaración de método incluye un modificador extern, se dice que el método es un método externo. Los métodos externos se implementan externamente, utilizando generalmente un lenguaje distinto de C#. Debido a que la declaración de un método externo no proporciona una implementación real, el cuerpo-del-método de un método externo consiste simplementeen un punto y coma.
El modificador extern se suele utilizar junto con el atributo DllImport (Sección 10.5.1), permitiendo implementar los métodos externos mediante Bibliotecas de vínculos dinámicos (.dll). El entorno de ejecución puede ser compatible con otros mecanismos que permitan las implementaciones de métodos externos.
Cuando un método externo incluye un atributo DllImport, la declaracióndel método también debe incluir el modificador static. En este ejemplo se demuestra el uso del modificador extern y del atributo DllImport:
using System.Text;
using System.Security.Permissions;
using System.Runtime.InteropServices;
class Path
{
[DllImport("kernel32", SetLastError=true)]
static extern bool CreateDirectory(string name, SecurityAttribute sa);
[DllImport("kernel32",...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • relacion entre extructura interna y externa del metodo
  • Metodos Internos Y Externos De Las Empresas
  • Metodo de rectangulos internos y externos
  • Relacion Entre La Estructura Interna Y Externa Del Metodo
  • Externa
  • externo
  • Externa
  • Externa

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS