C sharp - Tipado fuerte de clases

 
Vista:

Tipado fuerte de clases

Publicado por joan (1 intervención) el 26/02/2013 19:29:33
Hola.

Estoy haciendo un programa y me encuentro con lo siguiente:

He creado una clase principal (clase genérica) que tendrá las propiedades básicas. A esta clase le llamo BaseObject.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
namespace Objects
{
    public class BaseObject<T>
    {
 
        #region PROPIEDADES OBJETO BASE
 
        private T objName;
        public T Name
        {
            get { return objName; }
            set { this.objName = value; }
        }
        private T objDesc;
        public T Description
        {
            get { return objDesc; }
            set { this.objDesc = value; }
        }
 
 
        private T objId;
        public T Id
        {
            get { return objId; }
            set { this.objId = value; }
        }
 
        private T objSelected;
 
        public T Selected
        {
            get { return objSelected; }
            set { this.objSelected = value; }
        }
 
        #endregion
 
    }
}


Como podéis comprobar, para cada variable(que hace de propiedad) se le asigna una "T" que luego definiremos los distintos tipos de variable. Junto al nombre de la clase, también se indica la "T".
La idea de hacerlo así, es porque las propiedades son de distinto tipo, algunas son integer,otras string,booleanas,etc..


En la siguiente class, que es heredada de la primera (con lo cual usará sus propiedades básicas), seguimos añadiendo más propiedades y volvemos a hacer lo de tipado fuerte.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
namespace Objects
{
    public class Alignments<T> : Objects.BaseObject<T>
    {
 
        #region PROPIEDADES ALINEACIÓN
 
        private T  objCriteriaFileName;
        public T CriteriaFileName
        {
            get { return objCriteriaFileName; }
            set { this.objCriteriaFileName = value; }
        }
 
 
        private T objDesignCheckSetName;
        public T DesignCheckSetName
        {
            get { return objDesignCheckSetName; }
            set { this.objDesignCheckSetName = value; }
        }
 
 
        private T objLength;
        public  T  Length
        {
            get { return objLength; }
            set { this.objLength = value; }
        }
 
 
        private T objUseDesignCheckSet;
        public T UseDesignCheckSet
        {
            get { return objUseDesignCheckSet; }
            set { this.objUseDesignCheckSet = value; }
        }
 
        #endregion
 
   }
}



Mis preguntas son:
Se puede indicar el tipado "T" con una letra diferente para cada clase?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder