本文整理汇总了C#中ITable.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# ITable.GetType方法的具体用法?C# ITable.GetType怎么用?C# ITable.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITable
的用法示例。
在下文中一共展示了ITable.GetType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddElement
public static void AddElement(ITable element,bool addtolist = true)
{
lock (_newElements)
{
if (_newElements.ContainsKey(element.GetType()))
{
if (!_newElements[element.GetType()].Contains(element))
_newElements[element.GetType()].Add(element);
}
else
{
_newElements.Add(element.GetType(), new List<ITable> { element });
}
}
if (addtolist)
{
#region Add value into array
var field = GetCache(element);
if (field == null)
{
Logger.Error("Unable to add record value to the list, static list field wasnt finded");
return;
}
var method = field.FieldType.GetMethod("Add");
if (method == null)
{
Console.WriteLine("Unable to add record value to the list, add method wasnt finded");
return;
}
method.Invoke(field.GetValue(null), new object[] { element });
#endregion
}
}
示例2: RemoveElement
public static void RemoveElement(ITable element,bool removefromlist = true)
{
if (element == null)
return;
lock (_removeElements)
{
if (_newElements.ContainsKey(element.GetType()) && _newElements[element.GetType()].Contains(element))
{
RemoveFromList(element);
_newElements[element.GetType()].Remove(element);
return;
}
if (_updateElements.ContainsKey(element.GetType()) && _updateElements[element.GetType()].Contains(element))
_updateElements[element.GetType()].Remove(element);
if (_removeElements.ContainsKey(element.GetType()))
{
if (!_removeElements[element.GetType()].Contains(element))
_removeElements[element.GetType()].Add(element);
}
else
{
_removeElements.Add(element.GetType(), new List<ITable> { element });
}
}
if (removefromlist)
{
RemoveFromList(element);
}
}
示例3: GetCache
private static FieldInfo GetCache(ITable table)
{
var attribute = table.GetType().GetCustomAttribute(typeof(TableAttribute), false);
if (attribute == null)
return null;
var field = table.GetType().GetFields().FirstOrDefault(x => x.Name.ToLower() == (attribute as TableAttribute).tableName.ToLower());
if (field == null || !field.IsStatic || !field.FieldType.IsGenericType)
return null;
return field;
}
示例4: UpdateElement
public static void UpdateElement(ITable element)
{
lock (_updateElements)
{
if (_newElements.ContainsKey(element.GetType()) && _newElements[element.GetType()].Contains(element))
return;
if (_updateElements.ContainsKey(element.GetType()))
{
if (!_updateElements[element.GetType()].Contains(element))
_updateElements[element.GetType()].Add(element);
}
else
{
_updateElements.Add(element.GetType(), new List<ITable> { element });
}
}
}