MonoMobile.Views.ViewContainer.GetView C# (CSharp) Method

GetView() public static method

public static GetView ( MemberData memberData ) : Type
memberData MemberData
return System.Type
		public static Type GetView(MemberData memberData)
		{
			var attributes = memberData.Member.GetCustomAttributes(false);

			foreach(Attribute attribute in attributes)
			{
				var attributeType = attribute.GetType();

				if (_TypeViewMap.ContainsKey(attributeType))
				{
					return _TypeViewMap[attributeType];
				}
			}
			
			var type = memberData.Member.GetMemberType();

			return GetView(type);
		}
	}

Same methods

ViewContainer::GetView ( Type type ) : Type

Usage Example

Exemplo n.º 1
0
        protected override UITableViewCell NewCell(NSString cellId, NSIndexPath indexPath)
        {
            var id = cellId;

            var memberData = GetMemberData(indexPath);

            if (memberData != null)
            {
                id = memberData.Id;
            }

            var section    = Sections[indexPath.Section];
            var listSource = GetListSource(indexPath);

            if ((typeof(IEnumerable).IsAssignableFrom(memberData.Type) || typeof(Enum).IsAssignableFrom(memberData.Type)) && listSource != null && !listSource.IsRootCell)
            {
                id = listSource.CellId;
            }

            if (memberData != null)
            {
                var viewType = ViewContainer.GetView(memberData);
                if (viewType != null)
                {
                    var key = id.ToString();

                    if (section.ViewTypes.ContainsKey(key))
                    {
                        var viewTypeList = section.ViewTypes[key];

                        if (viewTypeList == null)
                        {
                            viewTypeList           = new List <Type>();
                            section.ViewTypes[key] = viewTypeList;

                            if (!viewTypeList.Contains(viewType))
                            {
                                viewTypeList.Add(viewType);
                            }
                        }
                    }
                    else
                    {
                        section.ViewTypes.Add(key, new List <Type>()
                        {
                            viewType
                        });
                    }
                }
            }

            return(base.NewCell(id, indexPath));
        }
All Usage Examples Of MonoMobile.Views.ViewContainer::GetView