本文整理汇总了C#中System.CodeDom.CodeNamespace.AddNamespaces方法的典型用法代码示例。如果您正苦于以下问题:C# CodeNamespace.AddNamespaces方法的具体用法?C# CodeNamespace.AddNamespaces怎么用?C# CodeNamespace.AddNamespaces使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.CodeDom.CodeNamespace
的用法示例。
在下文中一共展示了CodeNamespace.AddNamespaces方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BuildAll
public void BuildAll()
{
_targetUnit = new CodeCompileUnit();
CodeNamespace theGlobalNamespace = new CodeNamespace();
_targetUnit.Namespaces.Add(theGlobalNamespace);
string topNamespace = _typeToExtend.ContainingNamespace.GetFullNamespaceName();
CodeNamespace currentNamespace = new CodeNamespace(topNamespace);
_targetUnit.Namespaces.Add(currentNamespace);
CodeTypeDeclaration theClass = new CodeTypeDeclaration(_typeToExtend.Name);
theClass.IsClass = true;
theClass.IsPartial = true;
theClass.TypeAttributes = TypeAttributes.Public;
currentNamespace.Types.Add(theClass);
List<string> imports = new List<string>();
IEnumerable<OneWayEventWrapsView> oneWayEventWrapsAttrs =
_typeToExtend.GetOneWayEventWrapsAttrsDistinctByWrapperName();
List<CodeTypeMember> oneWayEventWrappedMembers = new List<CodeTypeMember>();
if (oneWayEventWrapsAttrs != null)
{
foreach (OneWayEventWrapsView oneWayEventWrapsView in oneWayEventWrapsAttrs)
{
INamedTypeSymbol wrappedType = oneWayEventWrapsView.TheWrappedType;
oneWayEventWrappedMembers.Add(wrappedType.CreateEventDefinition(oneWayEventWrapsView, imports));
}
}
IEnumerable<OneWayEventWrapsByWrappedType> oneWayEventsByWrappedTypes = _typeToExtend.GetOneWayEventWrapsByWrappedTypes();
IEnumerable<INamedTypeSymbol> wrapTypes =
_typeToExtend.GetWrappedTypes().Union(oneWayEventsByWrappedTypes.Select((item) => item.TheWrappedType)).Distinct();
List<CodeTypeMember> wrappedMembers = new List<CodeTypeMember>();
foreach (INamedTypeSymbol wrappedType in wrapTypes)
{
OneWayEventWrapsByWrappedType oneWayEventWrapsByWrappedType = null;
if (oneWayEventsByWrappedTypes != null)
{
oneWayEventWrapsByWrappedType =
oneWayEventsByWrappedTypes.Where((item) => item.TheWrappedType == wrappedType).FirstOrDefault();
}
wrappedMembers.AddRange(wrappedType.GetWrapperTypePropertyMembers(imports, oneWayEventWrapsByWrappedType));
wrappedMembers.Add(wrappedType.CreateImplicitConversionOperator(theClass.Name));
}
foreach (var oneWayEventsByWrappedType in oneWayEventsByWrappedTypes)
{
wrappedMembers.AddRange(oneWayEventsByWrappedType.CreateHandlerMethods(imports));
}
IEnumerable<WrapsAttrView> wrapperAttrs = _typeToExtend.GetWrapsAttrs();
foreach (WrapsAttrView wrapsAttr in wrapperAttrs)
{
WrappedItemsKind wrappedItemsKind = wrapsAttr.TheWrappedItemsKind;
INamedTypeSymbol wrappedType = wrapsAttr.TheWrappedType;
if (wrappedItemsKind == WrappedItemsKind.Property)
{
foreach (WrapsAttrNameChangeView wrappedPropName in wrapsAttr.NameChangeViews)
{
wrappedMembers.Add(wrappedType.CreatePropertyWrapper(wrappedPropName, imports));
}
}
else if (wrappedItemsKind == WrappedItemsKind.Method)
{
foreach (WrapsAttrNameChangeView wrappedMethodName in wrapsAttr.NameChangeViews)
{
wrappedMembers.AddRange(wrappedType.CreateMethodsWrapper(wrappedMethodName, imports));
}
}
else if (wrappedItemsKind == WrappedItemsKind.Event)
{
foreach (WrapsAttrNameChangeView wrappedEventName in wrapsAttr.NameChangeViews)
{
wrappedMembers.Add(wrappedType.CreateEventWrapper(wrappedEventName, imports));
}
}
}
theGlobalNamespace.AddNamespaces(imports);
theClass.AddMembers(wrappedMembers);
theClass.AddMembers(oneWayEventWrappedMembers);
}