InicioArticulos y noticiasBases de datosProgramaciónForosInternetServiciosContratacionEmail
Tutorial C#
Introduccion a C#
Programacion con C#
Fundamentos de C#
Operadores
Instrucciones
Estrcuturas de control.
Definición de clases
Creación de objetos
Herencia y métodos virtuales
Polimorfismo
Ocultación de miembros
Miembros de tipo
Encapsulación
Espacios de nombres
Importación de espacios de nombres
Espacio de nombres distribuidos
Variables y tipos de datos
Tablas unidimensionales
Tablas multidimensionales
La clase System.Array
Cadenas de texto
Constantes
Orden de inicialización de variables
Métodos
Métodos externos
Constructores
Destructores
Propiedades
Indizadores
Redefinición de operadores
Delegados y eventos
La clase MulticastDelegate
Llamadas asíncronas
Implementación interna de los delegados
Eventos
Estructuras
Boxing y unboxing
Constructores de estructuras
Enumeraciones
Interfaces
Excepciones
Otras instrucciones
Atributos
Definición de nuevos atributos
Lectura de atributos en tiempo de ejecución
Atributos de compilación
Pseudoatributos
Código inseguro
Definición de punteros
Manipulación de punteros
Operadores relacionados con código inseguro
Fijación de variables apuntadas
Novedades de C# 2.0
Genéricos
Tipos parciales
Iteradores
Mejoras en la manipulación de delegados
Tipos anulables
Modificadores de visibilidad de bloques get y set
Clases estáticas
Referencias a espacios de nombres
Supresión temporal de avisos
Atributos condicionales
Incrustación de tablas en estructuras
Modificaciones en el compilador
También puedes ver ...
Creando cadenas de conexión ConnectionStrings en .net 3.5 o visual Studio 2008 usando SqlConnectionStringBuilder
Migración de WSE a WCF (Web Services de 2005 a 2008)
Generar archivos PDF con C#
TransactionScope - Simplificando el trabajo con transacciones.
LinQ To SQL - Un ejemplo sencillo
Cómo activar Intelisense (autocompletado) en el Web.config
Leer un campo XML de SQL Server 2005 con C#
TripleDES - Un ejemplo practico en C#
Mostrar un GridView dentro de un DataList
String.Format

Afiliados
La Web del programador
MundoProgramacion


 

Pseudoatributos

    La BCL proporciona algunos atributos que, aunque se usan de la misma manera que el resto, se almacenan de manera especial en los metadatos, como lo harían modificadores como virtual o private. Por ello se les denomina pseudoatributos, y no se pueden  recuperar mediante el ya visto método GetCustomAttributes(), aunque para algunos de ellos se proporcionan otro mecanismos de recuperación específicos. Un ejemplo es el atributo DllImport que ya se ha visto que se usa para definición de métodos externos. Así, dado el siguiente código:


 using System.Reflection;
 using System.Runtime.InteropServices;
 using System;
 using System.Diagnostics;
 
 class A
 {
 [DllImport("kernel32")][Conditional("DEBUG")]
 
  public  static extern void CopyFile(string fuente, string destino);
 
  public static void Main() 
  {
 
   MethodInfo método = typeof(A).GetMethod("CopyFile");   
   foreach (Attribute atributo in método.GetCustomAttributes(false))   
    Console.WriteLine(atributo);
   }
 }

    La salida que se obtendría al ejecutarlo es la siguiente:



 System.Diagnostics.ConditionalAttribute

 

    Donde como se puede ver, no se ha recuperado el pseudoatributo DllImport mientras que el otro (Conditional), que es un atributo normal, sí que lo ha hecho.


Inicio | Tutorial C# Atributos de compilaciónTutorial C#Código inseguro Versión para imprimir Foros de consulta


Añadir comentario ... Para preguntar utiliza los foros
Autor:

Título:


Para preguntar utiliza los foros.



Inicio | Tutorial C# Atributos de compilaciónTutorial C#Código inseguro Versión para imprimir

Pseudoatributos
Autor: José Antonio González Seco
Visitas: 3397 Fecha de publicación: 02/12/2006
José Antonio es experto en tecnologias Microsoft. Imparte cursos y conferencias en congresos sobre C# y .NET en Universidades de toda España (Sevilla, Barcelona, San Sebastián, Valencia, Oviedo, etc.) en representación de grandes empresas como Microsoft.




Visitas: 310 | Comentarios: 0 | Archivo: Articulos
Categorias: Visual Basic .NET|C#|ASP.NET|ASP.NET|Programación|ADO.NET
27/09/2008 Navegando ....
Visitas: 85 | Comentarios: 0 | Archivo: Articulos
Categorias: Humor
Visitas: 207 | Comentarios: 0 | Archivo: Articulos
Categorias: Visual Basic .NET|C#|ASP.NET|ASP.NET|Programación|WCF
Visitas: 937 | Comentarios: 0 | Archivo: Articulos
Categorias: C#
Visitas: 209 | Comentarios: 0 | Archivo: Articulos
Categorias: JavaScript|ASP.NET
Visitas: 675 | Comentarios: 0 | Archivo: Articulos
Categorias: Windows XP|Linux|Windows Vista
Visitas: 455 | Comentarios: 0 | Archivo: Articulos
Categorias: Linux|BSD
Visitas: 236 | Comentarios: 0 | Archivo: Articulos
Categorias: Programación|Actualidad
18/08/2008 SQL Server 2008
Visitas: 1135 | Comentarios: 1 | Archivo: Articulos
Categorias: Transact-SQL
Visitas: 789 | Comentarios: 0 | Archivo: Articulos
Categorias: C#|ADO.NET|LinQ

Útimos temas recibidos en los foros ...
Coastal Inversiones SAC Coastal Vacations Oportunidad de Negocios por lecasur ... [ASP.NET] 0 11/10/2008
Negocios Rentables desde tu Hogar Coastal Vacations por lecasur ... [Access] 0 11/10/2008
COASTAL VACATIONS OPORTUNIDAD DE NEGOCIOS RENTABLES por lecasur ... [Actualidad] 0 11/10/2008
hacer el nombre de una tabla variable por leicolei ... [SQL Server] 2 10/10/2008
ayuda por yo ... [C#] 2 09/10/2008
Mostar nombre en una sesion de usuario por jhors ... [ASP.NET] 1 10/10/2008
Analista por Rolando ... [SQL Server] 0 10/10/2008
SQL dinámico en TRIGGERS por Alastor ... [ORACLE] 2 03/10/2008
Crystal Reports 8.5 por selvinalberto ... [Visual Basic 6.0] 0 10/10/2008
Agregar Columnas a un datagridview por Tony ... [Visual Basic .NET] 3 20/11/2007
Problema cargando un pl/sql Embebido en Pro*C por ejrivas ... [ORACLE] 0 10/10/2008
Verificar conexion a internet por giraldo ... [Visual Basic .NET] 3 11/12/2006

Access CGI JSP ORACLE UNIX
Actualidad HTML/DHTML/XHTML LINUX PHP Visual Basic .NET
ASP ISAPI MS DOS Power Builder Visual Basic 6.0
ASP.NET Java mySQL SQL WIN 98/NT/2000/XP
C# JavaScript Opinion SQL Server

devjoker  Te recomendamos además ...
22/10/2005 Actualización de datos. UPDATE    forma parte de...Tutorial SQL
23/05/2006 Cursores en PL/SQL    forma parte de...Tutorial PL/SQL
06/05/2007 Introducción a Transact SQL    forma parte de...Tutorial de Transact SQL
15/06/2007 Control de errores en Transact SQL    forma parte de...Tutorial de Transact SQL
01/01/2006 Consultas agregadas    forma parte de...Tutorial SQL
11/12/2006 Genéricos    forma parte de...Tutorial C#
12/01/2006 Programación con PL/SQL    forma parte de...Tutorial PL/SQL
12/01/2006 Introducción a PLSQL    forma parte de...Tutorial PL/SQL
22/10/2005 Insertar datos. INSERT    forma parte de...Tutorial SQL
16/04/2004 C# y como crear instancias de clases desde un tipo String utilizando .NET FrameWork.

 

Encuesta
¿A que perfil te adaptas mejor?
[Ver] [Votar]