本文整理汇总了C#中IBuildTarget.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# IBuildTarget.GetType方法的具体用法?C# IBuildTarget.GetType怎么用?C# IBuildTarget.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IBuildTarget
的用法示例。
在下文中一共展示了IBuildTarget.GetType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetExtensionChain
public ProjectServiceExtension GetExtensionChain (IBuildTarget target)
{
ProjectServiceExtension chain;
if (target != null) {
ExtensionChainInfo einfo = (ExtensionChainInfo) Thread.GetData (extensionChainSlot);
if (einfo == null) {
einfo = new ExtensionChainInfo ();
ExtensionContext ctx = AddinManager.CreateExtensionContext ();
einfo.ExtensionContext = ctx;
einfo.ItemTypeCondition = new ItemTypeCondition (target.GetType ());
einfo.ProjectLanguageCondition = new ProjectLanguageCondition (target);
ctx.RegisterCondition ("ItemType", einfo.ItemTypeCondition);
ctx.RegisterCondition ("ProjectLanguage", einfo.ProjectLanguageCondition);
Thread.SetData (extensionChainSlot, einfo);
} else {
einfo.ItemTypeCondition.ObjType = target.GetType ();
einfo.ProjectLanguageCondition.TargetProject = target;
}
ProjectServiceExtension[] extensions = (ProjectServiceExtension[]) einfo.ExtensionContext.GetExtensionObjects ("/MonoDevelop/ProjectModel/ProjectServiceExtensions", typeof(ProjectServiceExtension));
chain = CreateExtensionChain (extensions);
}
else {
if (defaultExtensionChain == null) {
ExtensionContext ctx = AddinManager.CreateExtensionContext ();
ctx.RegisterCondition ("ItemType", new ItemTypeCondition (typeof(UnknownItem)));
ctx.RegisterCondition ("ProjectLanguage", new ProjectLanguageCondition (UnknownItem.Instance));
ProjectServiceExtension[] extensions = (ProjectServiceExtension[]) ctx.GetExtensionObjects ("/MonoDevelop/ProjectModel/ProjectServiceExtensions", typeof(ProjectServiceExtension));
defaultExtensionChain = CreateExtensionChain (extensions);
}
chain = defaultExtensionChain;
target = UnknownItem.Instance;
}
if (chain.SupportsItem (target))
return chain;
else
return chain.GetNext (target);
}
示例2: IsSelectable
bool IsSelectable (IBuildTarget item)
{
if (SelectableFilter != null && !SelectableFilter (item))
return false;
if (selectableTypes.Count > 0)
return selectableTypes.Any (t => t.IsAssignableFrom (item.GetType ()));
return true;
}
示例3: IsCheckboxVisible
protected bool IsCheckboxVisible(IBuildTarget item)
{
if (!ShowCheckboxes)
return false;
if (selectableTypes.Count > 0)
return selectableTypes.Any (t => t.IsAssignableFrom (item.GetType ()));
return true;
}
示例4: GetExtensionChain
internal ProjectServiceExtension GetExtensionChain (IBuildTarget target)
{
ProjectServiceExtension chain;
if (target != null) {
lock (target) {
ExtensionChainInfo einfo = (ExtensionChainInfo)target.ExtendedProperties [typeof(ExtensionChainInfo)];
if (einfo == null) {
einfo = new ExtensionChainInfo ();
ExtensionContext ctx = AddinManager.CreateExtensionContext ();
einfo.ExtensionContext = ctx;
einfo.ItemTypeCondition = new ItemTypeCondition (target.GetType ());
einfo.ProjectLanguageCondition = new ProjectLanguageCondition (target);
ctx.RegisterCondition ("ItemType", einfo.ItemTypeCondition);
ctx.RegisterCondition ("ProjectLanguage", einfo.ProjectLanguageCondition);
target.ExtendedProperties [typeof(ExtensionChainInfo)] = einfo;
} else {
einfo.ItemTypeCondition.ObjType = target.GetType ();
einfo.ProjectLanguageCondition.TargetProject = target;
}
ProjectServiceExtension[] extensions = einfo.ExtensionContext.GetExtensionObjects<ProjectServiceExtension> ("/MonoDevelop/ProjectModel/ProjectServiceExtensions");
chain = CreateExtensionChain (extensions);
// After creating the chain there is no need to keep the reference to the target
einfo.ProjectLanguageCondition.TargetProject = null;
}
}
else {
if (defaultExtensionChain == null) {
ExtensionContext ctx = AddinManager.CreateExtensionContext ();
ctx.RegisterCondition ("ItemType", new ItemTypeCondition (typeof(UnknownItem)));
ctx.RegisterCondition ("ProjectLanguage", new ProjectLanguageCondition (UnknownItem.Instance));
ProjectServiceExtension[] extensions = ctx.GetExtensionObjects<ProjectServiceExtension> ("/MonoDevelop/ProjectModel/ProjectServiceExtensions");
defaultExtensionChain = CreateExtensionChain (extensions);
}
chain = defaultExtensionChain;
target = UnknownItem.Instance;
}
if (chain.SupportsItem (target))
return chain;
else
return chain.GetNext (target);
}