251 references to VarianceKind
GenerateDocumentationAndConfigFiles (4)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (2)
318
attributes: default, varianceKind:
VarianceKind
.None,
330
VarianceKind
varianceKind, string name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationTypeParameterSymbol.cs (2)
14
VarianceKind
varianceKind,
26
public
VarianceKind
Variance { get; } = varianceKind;
Microsoft.CodeAnalysis (1)
Symbols\ITypeParameterSymbol.cs (1)
28
VarianceKind
Variance { get; }
Microsoft.CodeAnalysis.Analyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (2)
318
attributes: default, varianceKind:
VarianceKind
.None,
330
VarianceKind
varianceKind, string name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationTypeParameterSymbol.cs (2)
14
VarianceKind
varianceKind,
26
public
VarianceKind
Variance { get; } = varianceKind;
Microsoft.CodeAnalysis.BannedApiAnalyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (2)
318
attributes: default, varianceKind:
VarianceKind
.None,
330
VarianceKind
varianceKind, string name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationTypeParameterSymbol.cs (2)
14
VarianceKind
varianceKind,
26
public
VarianceKind
Variance { get; } = varianceKind;
Microsoft.CodeAnalysis.CodeStyle.Fixes (4)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (2)
318
attributes: default, varianceKind:
VarianceKind
.None,
330
VarianceKind
varianceKind, string name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationTypeParameterSymbol.cs (2)
14
VarianceKind
varianceKind,
26
public
VarianceKind
Variance { get; } = varianceKind;
Microsoft.CodeAnalysis.CSharp (111)
Binder\Binder_Patterns.cs (1)
1845
return bestSoFar.MergeEquivalentTypes(possiblyLessSpecificCandidate,
VarianceKind
.Out);
Binder\ForEachLoopBinder.cs (1)
1881
interfaces = MethodTypeInferrer.ModuloReferenceTypeNullabilityDifferences(interfaces,
VarianceKind
.In);
Binder\Semantics\BestTypeInferrer.cs (1)
297
return type1.MergeEquivalentTypes(type2,
VarianceKind
.Out);
Binder\Semantics\Conversions\ConversionsBase.cs (6)
3190
case
VarianceKind
.None:
3206
case
VarianceKind
.Out:
3213
case
VarianceKind
.In:
3691
case
VarianceKind
.None:
3698
case
VarianceKind
.Out:
3705
case
VarianceKind
.In:
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (19)
2340
allInterfaces = ModuloReferenceTypeNullabilityDifferences(allInterfaces,
VarianceKind
.In);
2351
internal static ImmutableArray<NamedTypeSymbol> ModuloReferenceTypeNullabilityDifferences(ImmutableArray<NamedTypeSymbol> interfaces,
VarianceKind
variance)
2405
if (sourceTypeArgument.Type.IsReferenceType && typeParameter.Variance ==
VarianceKind
.Out)
2409
else if (sourceTypeArgument.Type.IsReferenceType && typeParameter.Variance ==
VarianceKind
.In)
2711
allInterfaces = ModuloReferenceTypeNullabilityDifferences(allInterfaces,
VarianceKind
.Out);
2755
if (sourceTypeArgument.Type.IsReferenceType && typeParameter.Variance ==
VarianceKind
.Out)
2759
else if (sourceTypeArgument.Type.IsReferenceType && typeParameter.Variance ==
VarianceKind
.In)
2905
AddAllCandidates(candidates, lower, lowerPredicate,
VarianceKind
.Out, conversions);
2910
AddAllCandidates(candidates, upper, predicate: null,
VarianceKind
.In, conversions);
2916
AddAllCandidates(candidates, exact, predicate: null,
VarianceKind
.None, conversions);
2937
MergeOrRemoveCandidates(candidates, lower, lowerPredicate, initialCandidates, conversions,
VarianceKind
.Out, ref useSiteInfo);
2945
MergeOrRemoveCandidates(candidates, upper, predicate: null, initialCandidates, conversions,
VarianceKind
.In, ref useSiteInfo);
3374
VarianceKind
variance,
3402
VarianceKind
variance)
3420
VarianceKind
variance,
3423
Debug.Assert(variance ==
VarianceKind
.In || variance ==
VarianceKind
.Out);
3442
if (variance ==
VarianceKind
.Out)
3485
VarianceKind
variance)
CSharpExtensions.cs (4)
247
public static
VarianceKind
VarianceKindFromToken(this SyntaxToken node)
251
case SyntaxKind.OutKeyword: return
VarianceKind
.Out;
252
case SyntaxKind.InKeyword: return
VarianceKind
.In;
253
default: return
VarianceKind
.None;
Emitter\Model\TypeParameterSymbolAdapter.cs (3)
330
case
VarianceKind
.None:
332
case
VarianceKind
.In:
334
case
VarianceKind
.Out:
FlowAnalysis\NullableWalker.cs (1)
6252
refResultType = consequenceRValue.Type!.MergeEquivalentTypes(alternativeRValue.Type,
VarianceKind
.None);
SymbolDisplay\SymbolDisplayVisitor.Types.cs (2)
807
case
VarianceKind
.In:
811
case
VarianceKind
.Out:
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.TypeParameterSymbol.cs (2)
113
public override
VarianceKind
Variance
115
get { return
VarianceKind
.None; }
Symbols\ArrayTypeSymbol.cs (1)
412
internal override TypeSymbol MergeEquivalentTypes(TypeSymbol other,
VarianceKind
variance)
Symbols\DynamicTypeSymbol.cs (1)
232
internal override TypeSymbol MergeEquivalentTypes(TypeSymbol other,
VarianceKind
variance)
Symbols\ErrorTypeSymbol.ErrorTypeParameterSymbol.cs (2)
142
public override
VarianceKind
Variance
146
return
VarianceKind
.None;
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (9)
348
internal FunctionPointerMethodSymbol MergeEquivalentTypes(FunctionPointerMethodSymbol signature,
VarianceKind
variance)
351
var
returnVariance = RefKind == RefKind.None ? variance :
VarianceKind
.None;
364
var
paramVariance = (variance, thisParam.RefKind) switch
366
(
VarianceKind
.In, RefKind.None) =>
VarianceKind
.Out,
367
(
VarianceKind
.Out, RefKind.None) =>
VarianceKind
.In,
368
_ =>
VarianceKind
.None,
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
161
internal override TypeSymbol MergeEquivalentTypes(TypeSymbol other,
VarianceKind
variance)
Symbols\FunctionTypeSymbol.cs (1)
160
internal override TypeSymbol MergeEquivalentTypes(TypeSymbol other,
VarianceKind
variance)
Symbols\Metadata\PE\PETypeParameterSymbol.cs (2)
597
public override
VarianceKind
Variance
601
return (
VarianceKind
)(_flags & GenericParameterAttributes.VarianceMask);
Symbols\NamedTypeSymbol.cs (16)
1134
internal override TypeSymbol MergeEquivalentTypes(TypeSymbol other,
VarianceKind
variance)
1173
VarianceKind
variance,
1198
VarianceKind
typeArgumentVariance = GetTypeArgumentVariance(variance, isTuple ?
VarianceKind
.Out : typeParameters[i].Variance);
1214
variance =
VarianceKind
.None;
1220
private static
VarianceKind
GetTypeArgumentVariance(
VarianceKind
typeVariance,
VarianceKind
typeParameterVariance)
1224
case
VarianceKind
.In:
1227
case
VarianceKind
.In:
1228
return
VarianceKind
.Out;
1229
case
VarianceKind
.Out:
1230
return
VarianceKind
.In;
1232
return
VarianceKind
.None;
1234
case
VarianceKind
.Out:
1237
return
VarianceKind
.None;
Symbols\NullableAnnotationExtensions.cs (4)
63
public static NullableAnnotation MergeNullableAnnotation(this NullableAnnotation a, NullableAnnotation b,
VarianceKind
variance)
69
VarianceKind
.In => a.Meet(b),
70
VarianceKind
.Out => a.Join(b),
71
VarianceKind
.None => a.EnsureCompatible(b),
Symbols\PointerTypeSymbol.cs (2)
274
internal override TypeSymbol MergeEquivalentTypes(TypeSymbol other,
VarianceKind
variance)
277
TypeWithAnnotations pointedAtType = PointedAtTypeWithAnnotations.MergeEquivalentTypes(((PointerTypeSymbol)other).PointedAtTypeWithAnnotations,
VarianceKind
.None);
Symbols\PublicModel\TypeParameterSymbol.cs (1)
85
VarianceKind
ITypeParameterSymbol.Variance => _underlying.Variance;
Symbols\Source\CrefTypeParameterSymbol.cs (2)
120
public override
VarianceKind
Variance
122
get { return
VarianceKind
.None; }
Symbols\Source\IndexedTypeParameterSymbol.cs (2)
135
public override
VarianceKind
Variance
137
get { return
VarianceKind
.None; }
Symbols\Source\SourceNamedTypeSymbol.cs (1)
615
mergedConstraintTypes[index1] = constraintType1.MergeEquivalentTypes(constraintType2,
VarianceKind
.None);
Symbols\Source\SourceTypeParameterSymbol.cs (5)
77
public override
VarianceKind
Variance
81
return
VarianceKind
.None;
463
private readonly
VarianceKind
_varianceKind;
465
public SourceTypeTypeParameterSymbol(SourceNamedTypeSymbol owner, string name, int ordinal,
VarianceKind
varianceKind, ImmutableArray<Location> locations, ImmutableArray<SyntaxReference> syntaxRefs)
485
public override
VarianceKind
Variance
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeParameterSymbol.cs (2)
43
public override
VarianceKind
Variance =>
VarianceKind
.None;
Symbols\Synthesized\SynthesizedInlineArrayTypeSymbol.cs (2)
244
public override
VarianceKind
Variance =>
VarianceKind
.None;
Symbols\SynthesizedSimpleMethodTypeParameterSymbol.cs (2)
86
public override
VarianceKind
Variance
88
get { return
VarianceKind
.None; }
Symbols\TypeParameterSymbol.cs (2)
644
public abstract
VarianceKind
Variance { get; }
697
internal override TypeSymbol MergeEquivalentTypes(TypeSymbol other,
VarianceKind
variance)
Symbols\TypeSymbol.cs (1)
651
internal abstract TypeSymbol MergeEquivalentTypes(TypeSymbol other,
VarianceKind
variance);
Symbols\TypeWithAnnotations.cs (1)
241
internal TypeWithAnnotations MergeEquivalentTypes(TypeWithAnnotations other,
VarianceKind
variance)
Symbols\VarianceSafety.cs (10)
94
Debug.Assert(container.TypeParameters.Any(static tp => tp.Variance !=
VarianceKind
.None));
111
if (container.TypeParameters.Any(static tp => tp.Variance !=
VarianceKind
.None))
309
if (requireInputSafety && requireOutputSafety && typeParam.Variance !=
VarianceKind
.None)
317
else if (requireOutputSafety && typeParam.Variance ==
VarianceKind
.In)
323
else if (requireInputSafety && typeParam.Variance ==
VarianceKind
.Out)
396
case
VarianceKind
.Out:
401
case
VarianceKind
.In:
406
case
VarianceKind
.None:
454
case
VarianceKind
.In:
457
case
VarianceKind
.Out:
Symbols\Wrapped\WrappedTypeParameterSymbol.cs (1)
136
public override
VarianceKind
Variance
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (2)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\TypeParameterGenerator.cs (2)
30
symbol.Variance ==
VarianceKind
.In ? InKeyword :
31
symbol.Variance ==
VarianceKind
.Out ? OutKeyword : default;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (5)
Semantics\DelegateTypeTests.cs (5)
15677
Assert.Equal(functionTypeStringNullable, functionTypeStringNullable.MergeEquivalentTypes(functionTypeStringNullable,
VarianceKind
.Out));
15678
Assert.Equal(functionTypeStringNullable, functionTypeStringNullable.MergeEquivalentTypes(functionTypeStringNotNullable,
VarianceKind
.Out));
15679
Assert.Equal(functionTypeStringNullable, functionTypeStringNotNullable.MergeEquivalentTypes(functionTypeStringNullable,
VarianceKind
.Out));
15680
Assert.Equal(functionTypeStringNotNullable, functionTypeStringNotNullable.MergeEquivalentTypes(functionTypeStringNotNullable,
VarianceKind
.Out));
15681
Assert.Equal(functionTypeNullA, functionTypeNullA.MergeEquivalentTypes(functionTypeNullA,
VarianceKind
.Out));
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (10)
DocumentationComments\CrefTests.cs (1)
1560
AssertEx.All(actualTypeParameters, p => p.Variance ==
VarianceKind
.None);
Symbols\CompilationCreationTests.cs (1)
2485
Assert.Equal(
VarianceKind
.None, foo3TypeParam.Variance);
Symbols\Metadata\PE\LoadingGenericTypeParameters.cs (8)
76
Assert.Equal(
VarianceKind
.None, varC1_T.Variance);
130
Assert.Equal(
VarianceKind
.Out, varT.Variance);
137
Assert.Equal(
VarianceKind
.In, varT.Variance);
144
Assert.Equal(
VarianceKind
.None, varT.Variance);
152
Assert.Equal(
VarianceKind
.None, varT.Variance);
160
Assert.Equal(
VarianceKind
.None, varT.Variance);
168
Assert.Equal(
VarianceKind
.None, varT.Variance);
175
Assert.Equal(
VarianceKind
.Out, varT.Variance);
Microsoft.CodeAnalysis.CSharp.Workspaces (4)
CodeGeneration\CSharpSyntaxGenerator.cs (2)
1751
VarianceKind
.In => InKeyword,
1752
VarianceKind
.Out => OutKeyword,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\TypeParameterGenerator.cs (2)
30
symbol.Variance ==
VarianceKind
.In ? InKeyword :
31
symbol.Variance ==
VarianceKind
.Out ? OutKeyword : default;
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (2)
318
attributes: default, varianceKind:
VarianceKind
.None,
330
VarianceKind
varianceKind, string name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationTypeParameterSymbol.cs (2)
14
VarianceKind
varianceKind,
26
public
VarianceKind
Variance { get; } = varianceKind;
Microsoft.CodeAnalysis.VisualBasic (84)
Binding\Binder_Conversions.vb (4)
840
Case
VarianceKind
.Out
854
Case
VarianceKind
.In
908
ErrorFactory.ErrorInfo(If(oneVariantDifference.TypeParameter.Variance =
VarianceKind
.Out,
918
ReportDiagnostic(diagnostics, location, If(oneVariantDifference.TypeParameter.Variance =
VarianceKind
.Out,
Binding\Binder_Utils.vb (4)
28
Public Shared Function DecodeVariance(varianceKeywordOpt As SyntaxToken) As
VarianceKind
31
Return
VarianceKind
.None
33
Return
VarianceKind
.In
35
Return
VarianceKind
.Out
Emit\TypeParameterSymbolAdapter.vb (3)
253
Case
VarianceKind
.None
255
Case
VarianceKind
.In
257
Case
VarianceKind
.Out
Semantics\Conversions.vb (2)
2789
Case
VarianceKind
.Out
2800
Case
VarianceKind
.In
Semantics\TypeInference\TypeArgumentInference.vb (3)
1486
Case
VarianceKind
.In
1491
Case
VarianceKind
.Out
1496
Debug.Assert(
VarianceKind
.None = parameterTypeAsNamedType.TypeParameters(typeArgumentIndex).Variance)
SymbolDisplay\SymbolDisplayVisitor.Types.vb (2)
475
Case
VarianceKind
.In
478
Case
VarianceKind
.Out
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousTypeOrDelegateTypeParameterSymbol.vb (2)
108
Public Overrides ReadOnly Property Variance As
VarianceKind
110
Return
VarianceKind
.None
Symbols\IndexedTypeParameterSymbol.vb (2)
107
Public Overrides ReadOnly Property Variance As
VarianceKind
109
Return
VarianceKind
.None
Symbols\InstanceErrorTypeSymbol.vb (2)
266
Public Overrides ReadOnly Property Variance As
VarianceKind
268
Return
VarianceKind
.None
Symbols\Metadata\PE\PETypeParameterSymbol.vb (2)
309
Public Overrides ReadOnly Property Variance As
VarianceKind
311
Return CType((_flags And GenericParameterAttributes.VarianceMask),
VarianceKind
)
Symbols\NamedTypeSymbolExtensions.vb (2)
100
Case
VarianceKind
.In,
VarianceKind
.Out
Symbols\ReducedExtensionMethodSymbol.vb (1)
794
Public Overrides ReadOnly Property Variance As
VarianceKind
Symbols\Retargeting\RetargetingTypeParameterSymbol.vb (1)
113
Public Overrides ReadOnly Property Variance As
VarianceKind
Symbols\Source\CrefTypeParameterSymbol.vb (2)
122
Public Overrides ReadOnly Property Variance As
VarianceKind
124
Return
VarianceKind
.None
Symbols\Source\SourceMemberContainerTypeSymbol.vb (30)
473
GenerateVarianceDiagnosticsForType(implemented,
VarianceKind
.Out, VarianceContext.Complex, infosBuffer)
575
requiredVariance As
VarianceKind
,
612
requiredVariance As
VarianceKind
,
671
If (typeParam.Variance =
VarianceKind
.Out AndAlso requiredVariance <>
VarianceKind
.Out) OrElse
672
(typeParam.Variance =
VarianceKind
.In AndAlso requiredVariance <>
VarianceKind
.In) Then
676
Dim inappropriateOut As Boolean = (typeParam.Variance =
VarianceKind
.Out)
831
If requiredVariance <>
VarianceKind
.Out Then
901
Debug.Assert(namedType.TypeParameters(0).Variance =
VarianceKind
.None, "unexpected: a nullable type should have one generic parameter with no variance")
904
VarianceKind
.None,
919
Dim argumentRequiredVariance As
VarianceKind
922
Case
VarianceKind
.In
924
Case
VarianceKind
.In
925
argumentRequiredVariance =
VarianceKind
.Out
926
Case
VarianceKind
.Out
927
argumentRequiredVariance =
VarianceKind
.In
929
argumentRequiredVariance =
VarianceKind
.None
931
Case
VarianceKind
.Out
934
argumentRequiredVariance =
VarianceKind
.None
970
GenerateVarianceDiagnosticsForType(method.ReturnType,
VarianceKind
.Out, VarianceContext.Return, infosBuffer)
1002
Dim requiredVariance As
VarianceKind
1006
requiredVariance =
VarianceKind
.None
1009
requiredVariance =
VarianceKind
.In
1044
GenerateVarianceDiagnosticsForType(constraint,
VarianceKind
.In, VarianceContext.Constraint, infosBuffer)
1070
Dim requiredVariance As
VarianceKind
1074
requiredVariance =
VarianceKind
.Out
1077
requiredVariance =
VarianceKind
.In
1080
requiredVariance =
VarianceKind
.None
1119
GenerateVarianceDiagnosticsForType(type,
VarianceKind
.In, VarianceContext.Complex, infosBuffer)
Symbols\Source\SourceNamedTypeSymbol.vb (5)
757
variance As
VarianceKind
,
763
Public ReadOnly Variance As
VarianceKind
791
<Out()> ByRef variance As
VarianceKind
,
839
Dim variance As
VarianceKind
=
VarianceKind
.None
Symbols\Source\SourceTypeParameterSymbol.vb (5)
236
Private _lazyVariance As
VarianceKind
253
Public Overrides ReadOnly Property Variance As
VarianceKind
289
Dim variance As
VarianceKind
332
Public Overrides ReadOnly Property Variance As
VarianceKind
334
Return
VarianceKind
.None
Symbols\SubstitutedTypeParameterSymbol.vb (1)
165
Public Overrides ReadOnly Property Variance As
VarianceKind
Symbols\SynthesizedSymbols\SynthesizedClonedTypeParameterSymbol.vb (1)
133
Public Overrides ReadOnly Property Variance As
VarianceKind
Symbols\TypeParameterSymbol.vb (1)
330
Public MustOverride ReadOnly Property Variance As
VarianceKind
Implements ITypeParameterSymbol.Variance
Symbols\Wrapped\WrappedTypeParameterSymbol.vb (1)
70
Public Overrides ReadOnly Property Variance As
VarianceKind
Syntax\SyntaxFacts.vb (4)
614
Public Shared Function VarianceKindFromToken(token As SyntaxToken) As
VarianceKind
617
Return
VarianceKind
.Out
620
Return
VarianceKind
.In
623
Return
VarianceKind
.None
Utilities\VarianceAmbiguity.vb (4)
115
variance As
VarianceKind
,
123
Case
VarianceKind
.In
137
Case
VarianceKind
.Out
148
Case
VarianceKind
.None
Microsoft.CodeAnalysis.Workspaces (4)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (2)
318
attributes: default, varianceKind:
VarianceKind
.None,
330
VarianceKind
varianceKind, string name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationTypeParameterSymbol.cs (2)
14
VarianceKind
varianceKind,
26
public
VarianceKind
Variance { get; } = varianceKind;
Roslyn.Diagnostics.Analyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (2)
318
attributes: default, varianceKind:
VarianceKind
.None,
330
VarianceKind
varianceKind, string name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationTypeParameterSymbol.cs (2)
14
VarianceKind
varianceKind,
26
public
VarianceKind
Variance { get; } = varianceKind;
Roslyn.Diagnostics.CSharp.Analyzers (2)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\TypeParameterGenerator.cs (2)
30
symbol.Variance ==
VarianceKind
.In ? InKeyword :
31
symbol.Variance ==
VarianceKind
.Out ? OutKeyword : default;
Text.Analyzers (4)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (2)
318
attributes: default, varianceKind:
VarianceKind
.None,
330
VarianceKind
varianceKind, string name,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationTypeParameterSymbol.cs (2)
14
VarianceKind
varianceKind,
26
public
VarianceKind
Variance { get; } = varianceKind;