本文整理汇总了C#中CSharpCompilation.GetTypeByReflectionType方法的典型用法代码示例。如果您正苦于以下问题:C# CSharpCompilation.GetTypeByReflectionType方法的具体用法?C# CSharpCompilation.GetTypeByReflectionType怎么用?C# CSharpCompilation.GetTypeByReflectionType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSharpCompilation
的用法示例。
在下文中一共展示了CSharpCompilation.GetTypeByReflectionType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CalculateReturnType
private static void CalculateReturnType(
CSharpCompilation compilation,
DiagnosticBag diagnostics,
out TypeSymbol resultType,
out TypeSymbol returnType)
{
var submissionReturnTypeOpt = compilation.ScriptCompilationInfo?.ReturnTypeOpt;
var taskT = compilation.GetWellKnownType(WellKnownType.System_Threading_Tasks_Task_T);
var useSiteDiagnostic = taskT.GetUseSiteDiagnostic();
if (useSiteDiagnostic != null)
{
diagnostics.Add(useSiteDiagnostic, NoLocation.Singleton);
}
// If no explicit return type is set on ScriptCompilationInfo, default to
// System.Object from the target corlib. This allows cross compiling scripts
// to run on a target corlib that may differ from the host compiler's corlib.
// cf. https://github.com/dotnet/roslyn/issues/8506
resultType = (object)submissionReturnTypeOpt == null
? compilation.GetSpecialType(SpecialType.System_Object)
: compilation.GetTypeByReflectionType(submissionReturnTypeOpt, diagnostics);
returnType = taskT.Construct(resultType);
}
示例2: CalculateReturnType
private static void CalculateReturnType(
CSharpCompilation compilation,
DiagnosticBag diagnostics,
out TypeSymbol resultType,
out TypeSymbol returnType)
{
var submissionReturnType = compilation.SubmissionReturnType;
if (submissionReturnType == null)
{
resultType = null;
returnType = compilation.GetSpecialType(SpecialType.System_Void);
}
else
{
var taskT = compilation.GetWellKnownType(WellKnownType.System_Threading_Tasks_Task_T);
var useSiteDiagnostic = taskT.GetUseSiteDiagnostic();
if (useSiteDiagnostic != null)
{
diagnostics.Add(useSiteDiagnostic, NoLocation.Singleton);
}
resultType = compilation.GetTypeByReflectionType(submissionReturnType, diagnostics);
returnType = taskT.Construct(resultType);
}
}