本文整理汇总了C#中ITypeSymbol.GetTypeReference方法的典型用法代码示例。如果您正苦于以下问题:C# ITypeSymbol.GetTypeReference方法的具体用法?C# ITypeSymbol.GetTypeReference怎么用?C# ITypeSymbol.GetTypeReference使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITypeSymbol
的用法示例。
在下文中一共展示了ITypeSymbol.GetTypeReference方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetPropertyMembers
public static IEnumerable<CodeTypeMember> GetPropertyMembers(
string propName,
ITypeSymbol propTypeSymbol,
string referredMemberName,
IList<string> namespaces,
string objectReferenceName = null,
OneWayEventWrapsByWrappedType oneWayEventWrapsByWrappedType = null
)
{
CodeTypeReference propTypeCode = propTypeSymbol.GetTypeReference(namespaces);
CodeMemberField field = new CodeMemberField(propTypeCode, referredMemberName);
yield return field;
CodeTypeMember prop =
GetProperty(propName, propTypeSymbol, referredMemberName, namespaces, objectReferenceName, oneWayEventWrapsByWrappedType);
prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
yield return prop;
}
示例2: GetProperty
public static CodeTypeMember GetProperty(
string propName,
ITypeSymbol propType,
string referredMemberName,
IList<string> namespaces,
string objectReferenceName = null,
OneWayEventWrapsByWrappedType oneWayEventWrapsByWrappedType = null
)
{
CodeMemberProperty prop = new CodeMemberProperty
{
Type = propType.GetTypeReference(namespaces),
HasGet = true,
HasSet = true,
Name = propName
};
prop.GetStatements.Add
(
CreatePropertyGetWrapper(referredMemberName, objectReferenceName)
);
CodeConditionStatement removeEventHandlersStatement =
oneWayEventWrapsByWrappedType.GetEventHandlerAddersRemovers(referredMemberName, false);
if (removeEventHandlersStatement != null)
{
prop.SetStatements.Add(removeEventHandlersStatement);
}
CodeStatement setWrapper = CreatePropertySetWrapper(referredMemberName, objectReferenceName);
prop.SetStatements.Add(setWrapper);
CodeConditionStatement addEventHandlersStatement =
oneWayEventWrapsByWrappedType.GetEventHandlerAddersRemovers(referredMemberName);
if (addEventHandlersStatement != null)
{
prop.SetStatements.Add(addEventHandlersStatement);
}
return prop;
}