本文整理汇总了C#中ConversionKind.IsUserDefinedConversion方法的典型用法代码示例。如果您正苦于以下问题:C# ConversionKind.IsUserDefinedConversion方法的具体用法?C# ConversionKind.IsUserDefinedConversion怎么用?C# ConversionKind.IsUserDefinedConversion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConversionKind
的用法示例。
在下文中一共展示了ConversionKind.IsUserDefinedConversion方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SynthesizedNonUserDefined
/// <remarks>
/// This method is intended for passes other than the LocalRewriter.
/// Use MakeConversion helper method in the LocalRewriter instead,
/// it generates a synthesized conversion in its lowered form.
/// </remarks>
public static BoundConversion SynthesizedNonUserDefined(CSharpSyntaxNode syntax, BoundExpression operand, ConversionKind kind, TypeSymbol type, ConstantValue constantValueOpt = null)
{
// We need more information than just the conversion kind for creating a synthesized user defined conversion.
Debug.Assert(!kind.IsUserDefinedConversion(), "Use the BoundConversion.Synthesized overload that takes a 'Conversion' parameter for generating synthesized user defined conversions.");
return new BoundConversion(
syntax,
operand,
kind,
resultKind: LookupResultKind.Viable, //not used
isBaseConversion: false,
symbolOpt: null,
@checked: false,
explicitCastInCode: false,
isExtensionMethod: false,
isArrayIndex: false,
constantValueOpt: constantValueOpt,
type: type)
{ WasCompilerGenerated = true };
}
示例2: MakeConversion
/// <summary>
/// Helper method to generate a lowered conversion from the given rewrittenOperand to the given rewrittenType with the given conversion kind.
/// </summary>
/// <remarks>
/// Conversion kind must not be a user defined conversion, use the other overload which takes a 'Conversion' parameter for generating synthesized user defined conversions.
/// </remarks>
private BoundExpression MakeConversion(
CSharpSyntaxNode syntax,
BoundExpression rewrittenOperand,
ConversionKind conversionKind,
TypeSymbol rewrittenType,
bool @checked,
ConstantValue constantValueOpt = null)
{
// We need more information than just the conversion kind for creating a synthesized user defined conversion.
Debug.Assert(!conversionKind.IsUserDefinedConversion(), "Use the other overload which takes a 'Conversion' parameter for generating synthesized user defined conversions.");
return MakeConversion(syntax, rewrittenOperand, new Conversion(conversionKind), rewrittenType, @checked, explicitCastInCode: false, constantValueOpt: constantValueOpt);
}