|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DiagramUI.Aliases
{
/// <summary>
/// Detector of type
/// </summary>
public class AliasTypeDetector
{
#region Fields
/// <summary>
/// Global detector of type
/// </summary>
private static AliasTypeDetector aliasDetector = new AliasTypeDetector();
private static readonly Double d = 0;
private static readonly Boolean b = false;
private static readonly Int32 i = 0;
#endregion
/// <summary>
/// Constructor
/// </summary>
protected AliasTypeDetector()
{
}
/// <summary>
/// Global detector of type
/// </summary>
public static AliasTypeDetector Detector
{
get
{
return aliasDetector;
}
set
{
aliasDetector = value;
}
}
/// <summary>
/// Detects type of variable
/// </summary>
/// <param name="variable">The variable</param>
/// <returns>The type</returns>
public virtual object DetectType(object variable)
{
Type t = variable.GetType();
string tn = t.FullName;
if (tn.Equals("System.Double"))
{
return d;
}
if (tn.Equals("System.Int32"))
{
return i;
}
if (tn.Equals("System.Boolean"))
{
return b;
}
return null;
}
/// <summary>
/// Gets dimension of type
/// </summary>
/// <param name="type">The type</param>
/// <returns>The dimension</returns>
public virtual int[] GetDimension(object type)
{
return null;
}
/// <summary>
/// Gets base type of array
/// </summary>
/// <param name="type">Type</param>
/// <returns>Base type</returns>
public virtual object GetBaseType(object type)
{
return type;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Ph. D. Petr Ivankov worked as scientific researcher at Russian Mission Control Centre since 1978 up to 2000. Now he is engaged by Aviation training simulators http://dinamika-avia.com/ . His additional interests are:
1) Noncommutative geometry
http://front.math.ucdavis.edu/author/P.Ivankov
2) Literary work (Russian only)
http://zhurnal.lib.ru/editors/3/3d_m/
3) Scientific articles
http://arxiv.org/find/all/1/au:+Ivankov_Petr/0/1/0/all/0/1