本文整理汇总了C#中Class.HasRefBase方法的典型用法代码示例。如果您正苦于以下问题:C# Class.HasRefBase方法的具体用法?C# Class.HasRefBase怎么用?C# Class.HasRefBase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Class
的用法示例。
在下文中一共展示了Class.HasRefBase方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateClassProlog
public bool GenerateClassProlog(Class @class)
{
if (@class.IsUnion)
WriteLine("[System::Runtime::InteropServices::StructLayout({0})]",
"System::Runtime::InteropServices::LayoutKind::Explicit");
// Nested types cannot have visibility modifiers in C++/CLI.
var isTopLevel = @class.Namespace is TranslationUnit ||
@class.Namespace is Namespace;
if (isTopLevel)
Write("public ");
Write(@class.IsValueType ? "value struct " : "ref class ");
Write("{0}", @class.Name);
if (@class.IsStatic)
Write(" abstract sealed");
if (@class.IsOpaque)
{
WriteLine(";");
return true;
}
if ([email protected])
{
if (@class.HasRefBase())
Write(" : {0}", QualifiedIdentifier(@class.Bases[0].Class));
else if (@class.IsRefType)
Write(" : ICppInstance");
}
NewLine();
WriteLine("{");
WriteLine("public:");
NewLine();
return false;
}
示例2: ShouldGenerateClassNativeField
public static bool ShouldGenerateClassNativeField(Class @class)
{
if (@class.IsStatic)
return false;
return @class.IsRefType && ([email protected] || [email protected]());
}