未验证 提交 79400d23 编写于 作者: R Rikki Gibson 提交者: GitHub

Merge pull request #46573 from dotnet/features/extension-foreach

Merge Extension GetEnumerator into master
......@@ -96,6 +96,7 @@ This document provides guidance for thinking about language interactions and tes
- Nullability annotations (`?`, attributes) and analysis
- If you add a place an expression can appear in code, make sure `SpillSequenceSpiller` handles it. Test with a `switch` expression or `stackalloc` in that place.
- If you add a new expression form that requires spilling, test it in the catch filter.
- extension based Dispose, DisposeAsync, GetEnumerator, GetAsyncEnumerator, Deconstruct, GetAwaiter etc.
# Misc
- reserved keywords (sometimes contextual)
......
......@@ -6613,7 +6613,7 @@ private static void CombineExtensionMethodArguments(BoundExpression receiver, An
return result;
}
private MethodGroupResolution BindExtensionMethod(
protected MethodGroupResolution BindExtensionMethod(
SyntaxNode expression,
string methodName,
AnalyzedArguments analyzedArguments,
......
......@@ -45,6 +45,8 @@ internal sealed class ForEachEnumeratorInfo
public readonly BinderFlags Location;
public readonly Binder Binder;
private ForEachEnumeratorInfo(
TypeSymbol collectionType,
TypeWithAnnotations elementType,
......@@ -58,13 +60,15 @@ internal sealed class ForEachEnumeratorInfo
Conversion collectionConversion,
Conversion currentConversion,
Conversion enumeratorConversion,
BinderFlags location)
BinderFlags location,
Binder binder)
{
Debug.Assert((object)collectionType != null, "Field 'collectionType' cannot be null");
Debug.Assert(elementType.HasType, "Field 'elementType' cannot be null");
Debug.Assert((object)getEnumeratorMethod != null, "Field 'getEnumeratorMethod' cannot be null");
Debug.Assert((object)currentPropertyGetter != null, "Field 'currentPropertyGetter' cannot be null");
Debug.Assert((object)moveNextMethod != null, "Field 'moveNextMethod' cannot be null");
Debug.Assert(binder != null, "Field 'binder' cannot be null");
this.CollectionType = collectionType;
this.ElementTypeWithAnnotations = elementType;
......@@ -79,6 +83,7 @@ internal sealed class ForEachEnumeratorInfo
this.CurrentConversion = currentConversion;
this.EnumeratorConversion = enumeratorConversion;
this.Location = location;
this.Binder = binder;
}
// Mutable version of ForEachEnumeratorInfo. Convert to immutable using Build.
......@@ -101,6 +106,8 @@ internal struct Builder
public Conversion CurrentConversion;
public Conversion EnumeratorConversion;
public Binder Binder;
public ForEachEnumeratorInfo Build(BinderFlags location)
{
Debug.Assert((object)CollectionType != null, "'CollectionType' cannot be null");
......@@ -109,6 +116,7 @@ public ForEachEnumeratorInfo Build(BinderFlags location)
Debug.Assert(MoveNextMethod != null);
Debug.Assert(CurrentPropertyGetter != null);
Debug.Assert(Binder != null);
return new ForEachEnumeratorInfo(
CollectionType,
......@@ -123,7 +131,8 @@ public ForEachEnumeratorInfo Build(BinderFlags location)
CollectionConversion,
CurrentConversion,
EnumeratorConversion,
location);
location,
Binder);
}
public bool IsIncomplete
......
......@@ -1185,11 +1185,11 @@
<data name="WRN_PatternIsAmbiguous_Title" xml:space="preserve">
<value>Type does not implement the collection pattern; members are ambiguous</value>
</data>
<data name="WRN_PatternStaticOrInaccessible" xml:space="preserve">
<value>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</value>
<data name="WRN_PatternNotPublicOrNotInstance" xml:space="preserve">
<value>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</value>
</data>
<data name="WRN_PatternStaticOrInaccessible_Title" xml:space="preserve">
<value>Type does not implement the collection pattern; member is either static or not public</value>
<data name="WRN_PatternNotPublicOrNotInstance_Title" xml:space="preserve">
<value>Type does not implement the collection pattern; member is is not a public instance or extension method.</value>
</data>
<data name="WRN_PatternBadSignature" xml:space="preserve">
<value>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</value>
......@@ -2699,16 +2699,16 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep
<value>#r is only allowed in scripts</value>
</data>
<data name="ERR_ForEachMissingMember" xml:space="preserve">
<value>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</value>
<value>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</value>
</data>
<data name="ERR_AwaitForEachMissingMember" xml:space="preserve">
<value>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</value>
<value>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</value>
</data>
<data name="ERR_ForEachMissingMemberWrongAsync" xml:space="preserve">
<value>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</value>
<value>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</value>
</data>
<data name="ERR_AwaitForEachMissingMemberWrongAsync" xml:space="preserve">
<value>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</value>
<value>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</value>
</data>
<data name="ERR_PossibleAsyncIteratorWithoutYield" xml:space="preserve">
<value>The body of an async-iterator method must contain a 'yield' statement.</value>
......@@ -6430,4 +6430,10 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<data name="ERR_ModuleInitializerMethodMustBeOrdinary" xml:space="preserve">
<value>A module initializer must be an ordinary member method</value>
</data>
</root>
\ No newline at end of file
<data name="IDS_FeatureExtensionGetAsyncEnumerator" xml:space="preserve">
<value>extension GetAsyncEnumerator</value>
</data>
<data name="IDS_FeatureExtensionGetEnumerator" xml:space="preserve">
<value>extension GetEnumerator</value>
</data>
</root>
......@@ -239,7 +239,7 @@ internal enum ErrorCode
ERR_AccessModMissingAccessor = 276,
ERR_UnimplementedInterfaceAccessor = 277,
WRN_PatternIsAmbiguous = 278,
WRN_PatternStaticOrInaccessible = 279,
WRN_PatternNotPublicOrNotInstance = 279,
WRN_PatternBadSignature = 280,
ERR_FriendRefNotEqualToThis = 281,
WRN_SequentialOnPartialClass = 282,
......
......@@ -274,7 +274,7 @@ internal static int GetWarningLevel(ErrorCode code)
case ErrorCode.WRN_BadRefCompareLeft:
case ErrorCode.WRN_BadRefCompareRight:
case ErrorCode.WRN_PatternIsAmbiguous:
case ErrorCode.WRN_PatternStaticOrInaccessible:
case ErrorCode.WRN_PatternNotPublicOrNotInstance:
case ErrorCode.WRN_PatternBadSignature:
case ErrorCode.WRN_SameFullNameThisNsAgg:
case ErrorCode.WRN_SameFullNameThisAggAgg:
......
......@@ -211,6 +211,8 @@ internal enum MessageID
IDS_FeatureModuleInitializers = MessageBase + 12784,
IDS_FeatureTargetTypedConditional = MessageBase + 12785,
IDS_FeatureCovariantReturnsForOverrides = MessageBase + 12786,
IDS_FeatureExtensionGetEnumerator = MessageBase + 12787,
IDS_FeatureExtensionGetAsyncEnumerator = MessageBase + 12788,
}
// Message IDs may refer to strings that need to be localized.
......@@ -330,6 +332,8 @@ internal static LanguageVersion RequiredVersion(this MessageID feature)
case MessageID.IDS_FeatureParenthesizedPattern:
case MessageID.IDS_FeatureTypePattern:
case MessageID.IDS_FeatureRelationalPattern:
case MessageID.IDS_FeatureExtensionGetEnumerator: // semantic check
case MessageID.IDS_FeatureExtensionGetAsyncEnumerator: // semantic check
case MessageID.IDS_FeatureNativeInt:
case MessageID.IDS_FeatureExtendedPartialMethods: // semantic check
case MessageID.IDS_TopLevelStatements:
......
......@@ -4414,13 +4414,18 @@ private static TypeWithAnnotations ApplyUnconditionalAnnotations(TypeWithAnnotat
// https://github.com/dotnet/roslyn/issues/29863 Record in the node whether type
// arguments were implicit, to allow for cases where the syntax is not an
// invocation (such as a synthesized call from a query interpretation).
private static bool HasImplicitTypeArguments(BoundExpression node)
private static bool HasImplicitTypeArguments(BoundNode node)
{
if (node is BoundCollectionElementInitializer { AddMethod: { TypeArgumentsWithAnnotations: { IsEmpty: false } } })
{
return true;
}
if (node is BoundForEachStatement { EnumeratorInfoOpt: { GetEnumeratorMethod: { TypeArgumentsWithAnnotations: { IsEmpty: false } } } })
{
return true;
}
var syntax = node.Syntax;
if (syntax.Kind() != SyntaxKind.InvocationExpression)
{
......@@ -4475,7 +4480,7 @@ protected override void VisitArguments(ImmutableArray<BoundExpression> arguments
/// If you pass in a method symbol, its type arguments will be re-inferred and the re-inferred method will be returned.
/// </summary>
private (MethodSymbol? method, ImmutableArray<VisitArgumentResult> results, bool returnNotNull) VisitArguments(
BoundExpression node,
BoundNode node,
ImmutableArray<BoundExpression> arguments,
ImmutableArray<RefKind> refKindsOpt,
ImmutableArray<ParameterSymbol> parametersOpt,
......@@ -4498,14 +4503,27 @@ protected override void VisitArguments(ImmutableArray<BoundExpression> arguments
{
if (HasImplicitTypeArguments(node))
{
var binder = (node as BoundCall)?.BinderOpt ?? (node as BoundCollectionElementInitializer)?.BinderOpt ?? throw ExceptionUtilities.UnexpectedValue(node);
var binder = node switch
{
BoundCall { BinderOpt: { } b } => b,
BoundCollectionElementInitializer { BinderOpt: { } b } => b,
BoundForEachStatement { EnumeratorInfoOpt: { Binder: { } b } } => b,
_ => throw ExceptionUtilities.UnexpectedValue(node)
};
method = InferMethodTypeArguments(binder, method, GetArgumentsForMethodTypeInference(results, argumentsNoConversions), refKindsOpt, argsToParamsOpt, expanded);
parametersOpt = method.Parameters;
}
if (ConstraintsHelper.RequiresChecking(method))
{
var syntax = node.Syntax;
CheckMethodConstraints((syntax as InvocationExpressionSyntax)?.Expression ?? syntax, method);
CheckMethodConstraints(
syntax switch
{
InvocationExpressionSyntax { Expression: var expression } => expression,
ForEachStatementSyntax { Expression: var expression } => expression,
_ => syntax
},
method);
}
}
......@@ -7911,7 +7929,9 @@ protected override void VisitForEachExpression(BoundForEachStatement node)
// 6. The target framework's System.String doesn't implement IEnumerable. This is a compat case: System.String normally
// does implement IEnumerable, but there are certain target frameworks where this isn't the case. The compiler will
// still emit code for foreach in these scenarios.
// 7. Some binding error occurred, and some other error has already been reported. Usually this doesn't have any kind
// 7. The collection type implements the GetEnumerator pattern via an extension GetEnumerator. For this, there will be
// conversion to the parameter of the extension method.
// 8. Some binding error occurred, and some other error has already been reported. Usually this doesn't have any kind
// of conversion on top, but if there was an explicit conversion in code then we could get past the initial check
// for a BoundConversion node.
......@@ -7922,7 +7942,25 @@ protected override void VisitForEachExpression(BoundForEachStatement node)
SetAnalyzedNullability(expr, _visitResult);
TypeWithAnnotations targetTypeWithAnnotations;
if (conversion.IsIdentity ||
MethodSymbol? reinferredGetEnumeratorMethod = null;
if (node.EnumeratorInfoOpt?.GetEnumeratorMethod is { IsExtensionMethod: true, Parameters: var parameters } enumeratorMethod)
{
// this is case 7
var (method, results, _) = VisitArguments(
node,
ImmutableArray.Create(node.Expression),
refKindsOpt: default,
parameters,
argsToParamsOpt: default,
expanded: false,
invokedAsExtensionMethod: true,
enumeratorMethod);
targetTypeWithAnnotations = results[0].LValueType;
reinferredGetEnumeratorMethod = method;
}
else if (conversion.IsIdentity ||
(conversion.Kind == ConversionKind.ExplicitReference && resultType.SpecialType == SpecialType.System_String))
{
// This is case 3 or 6.
......@@ -7947,14 +7985,14 @@ protected override void VisitForEachExpression(BoundForEachStatement node)
}
else
{
// This is case 7. There was not a successful binding, as a successful binding will _always_ generate one of the
// This is case 8. There was not a successful binding, as a successful binding will _always_ generate one of the
// above conversions. Just return, as we want to suppress further errors.
return;
}
}
else
{
// This is also case 7.
// This is also case 8.
return;
}
......@@ -7969,73 +8007,61 @@ protected override void VisitForEachExpression(BoundForEachStatement node)
useLegacyWarnings: false,
AssignmentKind.Assignment);
bool reportedDiagnostic = CheckPossibleNullReceiver(expr);
bool reportedDiagnostic = node.EnumeratorInfoOpt?.GetEnumeratorMethod is { IsExtensionMethod: true }
? false
: CheckPossibleNullReceiver(expr);
SetResultType(node.Expression, convertedResult);
SetAnalyzedNullability(node.Expression, new VisitResult(convertedResult, convertedResult.ToTypeWithAnnotations(compilation)));
if (resultType.IsArray() ||
(conversion.Kind == ConversionKind.ExplicitReference &&
resultType.SpecialType == SpecialType.System_String))
{
// If we're iterating over an array type, VisitForEachIterationVariables will need the array type to calculate
// the reinferred element type of the foreach, even though we use the IEnumerator pattern for arrays.
// If we're iterating over a string that was explicitly converted, then it doesn't implement IEnumerable and
// VisitForEachIterationVariables will need to explicitly set the type of the iteration variables to char.
SetResultType(expression: null, resultTypeWithState);
}
TypeWithState currentPropertyGetterTypeWithState;
if (reportedDiagnostic || node.EnumeratorInfoOpt == null || node.Expression is BoundConversion { Operand: { IsSuppressed: true } })
if (node.EnumeratorInfoOpt is null)
{
return;
currentPropertyGetterTypeWithState = default;
}
var getEnumeratorMethod = (MethodSymbol)AsMemberOfType(convertedResult.Type, node.EnumeratorInfoOpt.GetEnumeratorMethod);
var enumeratorReturnType = getEnumeratorMethod.ReturnTypeWithAnnotations.ToTypeWithState();
if (enumeratorReturnType.State != NullableFlowState.NotNull)
else if (resultType is ArrayTypeSymbol arrayType)
{
ReportDiagnostic(ErrorCode.WRN_NullReferenceReceiver, expr.Syntax.GetLocation());
// Even though arrays use the IEnumerator pattern, we use the array element type as the foreach target type, so
// directly get our source type from there instead of doing method reinference.
currentPropertyGetterTypeWithState = arrayType.ElementTypeWithAnnotations.ToTypeWithState();
}
}
public override void VisitForEachIterationVariables(BoundForEachStatement node)
{
TypeWithAnnotations sourceType;
FlowAnalysisAnnotations sourceAnnotations = FlowAnalysisAnnotations.None;
if (node.EnumeratorInfoOpt == null)
else if (resultType.SpecialType == SpecialType.System_String)
{
sourceType = default;
// There are frameworks where System.String does not implement IEnumerable, but we still lower it to a for loop
// using the indexer over the individual characters anyway. So the type must be not annotated char.
currentPropertyGetterTypeWithState =
TypeWithAnnotations.Create(node.EnumeratorInfoOpt.ElementType, NullableAnnotation.NotAnnotated).ToTypeWithState();
}
else
{
var inferredCollectionType = ResultType.Type;
Debug.Assert(inferredCollectionType is object);
// Reinfer the return type of the node.Expression.GetEnumerator().Current property, so that if
// the collection changed nested generic types we pick up those changes.
reinferredGetEnumeratorMethod ??= (MethodSymbol)AsMemberOfType(convertedResult.Type, node.EnumeratorInfoOpt.GetEnumeratorMethod);
var enumeratorReturnType = GetReturnTypeWithState(reinferredGetEnumeratorMethod);
if (inferredCollectionType is ArrayTypeSymbol arrayType)
{
// Even though arrays use the IEnumerator pattern, we use the array element type as the foreach target type, so
// directly get our source type from there instead of doing method reinference.
sourceType = arrayType.ElementTypeWithAnnotations;
}
else if (inferredCollectionType.SpecialType == SpecialType.System_String)
{
// There are frameworks where System.String does not implement IEnumerable, but we still lower it to a for loop
// using the indexer over the individual characters anyway. So the type must be not annotated char.
sourceType = TypeWithAnnotations.Create(node.EnumeratorInfoOpt.ElementType, NullableAnnotation.NotAnnotated);
}
else
if (enumeratorReturnType.State != NullableFlowState.NotNull)
{
// Reinfer the return type of the node.Expression.GetEnumerator().Current property, so that if
// the collection changed nested generic types we pick up those changes. ResultType should have been
// set by VisitForEachExpression, called just before this.
Debug.Assert(inferredCollectionType.Equals(node.EnumeratorInfoOpt.CollectionType, TypeCompareKind.AllNullableIgnoreOptions));
var getEnumeratorMethod = (MethodSymbol)AsMemberOfType(inferredCollectionType, node.EnumeratorInfoOpt.GetEnumeratorMethod);
var currentPropertyGetter = (MethodSymbol)AsMemberOfType(getEnumeratorMethod.ReturnType, node.EnumeratorInfoOpt.CurrentPropertyGetter);
sourceType = currentPropertyGetter.ReturnTypeWithAnnotations;
sourceAnnotations = currentPropertyGetter.ReturnTypeFlowAnalysisAnnotations;
if (!reportedDiagnostic && !(node.Expression is BoundConversion { Operand: { IsSuppressed: true } }))
{
ReportDiagnostic(ErrorCode.WRN_NullReferenceReceiver, expr.Syntax.GetLocation());
}
}
var currentPropertyGetter = (MethodSymbol)AsMemberOfType(enumeratorReturnType.Type, node.EnumeratorInfoOpt.CurrentPropertyGetter);
currentPropertyGetterTypeWithState = ApplyUnconditionalAnnotations(
currentPropertyGetter.ReturnTypeWithAnnotations.ToTypeWithState(),
currentPropertyGetter.ReturnTypeFlowAnalysisAnnotations);
}
TypeWithState sourceState = ApplyUnconditionalAnnotations(sourceType.ToTypeWithState(), sourceAnnotations);
SetResultType(expression: null, currentPropertyGetterTypeWithState);
}
public override void VisitForEachIterationVariables(BoundForEachStatement node)
{
// ResultType should have been set by VisitForEachExpression, called just before this.
var sourceState = node.EnumeratorInfoOpt == null ? default : ResultType;
TypeWithAnnotations sourceType = sourceState.ToTypeWithAnnotations(compilation);
#pragma warning disable IDE0055 // Fix formatting
var variableLocation = node.Syntax switch
......
......@@ -25,7 +25,7 @@ public static bool IsWarning(ErrorCode code)
case ErrorCode.WRN_BadRefCompareLeft:
case ErrorCode.WRN_BadRefCompareRight:
case ErrorCode.WRN_PatternIsAmbiguous:
case ErrorCode.WRN_PatternStaticOrInaccessible:
case ErrorCode.WRN_PatternNotPublicOrNotInstance:
case ErrorCode.WRN_PatternBadSignature:
case ErrorCode.WRN_SequentialOnPartialClass:
case ErrorCode.WRN_MainCantBeGeneric:
......
......@@ -50,7 +50,7 @@ public override BoundNode VisitForEachStatement(BoundForEachStatement node)
return RewriteMultiDimensionalArrayForEachStatement(node);
}
}
else if (CanRewriteForEachAsFor(node.Syntax, nodeExpressionType, out var indexerGet, out var lengthGetter))
else if (node.AwaitOpt is null && CanRewriteForEachAsFor(node.Syntax, nodeExpressionType, out var indexerGet, out var lengthGetter))
{
return RewriteForEachStatementAsFor(node, indexerGet, lengthGetter);
}
......@@ -131,7 +131,7 @@ private BoundStatement RewriteEnumeratorForEachStatement(BoundForEachStatement n
forEachSyntax,
ConvertReceiverForInvocation(forEachSyntax, rewrittenExpression, getEnumeratorMethod, enumeratorInfo.CollectionConversion, enumeratorInfo.CollectionType),
getEnumeratorMethod,
allowExtensionAndOptionalParameters: isAsync);
allowExtensionAndOptionalParameters: isAsync || getEnumeratorMethod.IsExtensionMethod);
// E e = ((C)(x)).GetEnumerator();
BoundStatement enumeratorVarDecl = MakeLocalDeclaration(forEachSyntax, enumeratorVar, enumeratorVarInitValue);
......@@ -443,7 +443,6 @@ private BoundStatement WrapWithAwait(CommonForEachStatementSyntax forEachSyntax,
/// <param name="convertedReceiverType">Type of the receiver after applying the conversion.</param>
private BoundExpression ConvertReceiverForInvocation(CSharpSyntaxNode syntax, BoundExpression receiver, MethodSymbol method, Conversion receiverConversion, TypeSymbol convertedReceiverType)
{
Debug.Assert(!method.IsExtensionMethod);
Debug.Assert(receiver.Type is { });
if (!receiver.Type.IsReferenceType && method.ContainingType.IsInterface)
{
......@@ -487,7 +486,6 @@ private BoundExpression ConvertReceiverForInvocation(CSharpSyntaxNode syntax, Bo
private BoundExpression SynthesizeCall(CSharpSyntaxNode syntax, BoundExpression receiver, MethodSymbol method, bool allowExtensionAndOptionalParameters)
{
Debug.Assert(!method.IsExtensionMethod);
if (allowExtensionAndOptionalParameters)
{
// Generate a call with zero explicit arguments, but with implicit arguments for optional and params parameters.
......
......@@ -474,15 +474,13 @@ private BoundExpression MakeCallWithNoExplicitArgument(SyntaxNode syntax, BoundE
? ImmutableArray.Create(expression)
: ImmutableArray<BoundExpression>.Empty;
var refKinds = method.IsExtensionMethod && !method.ParameterRefKinds.IsDefaultOrEmpty
? ImmutableArray.Create(method.ParameterRefKinds[0])
: default;
Debug.Assert(!method.IsExtensionMethod || method.ParameterRefKinds.IsDefaultOrEmpty || method.ParameterRefKinds[0] != RefKind.Ref);
BoundExpression disposeCall = MakeCall(syntax: syntax,
rewrittenReceiver: receiver,
method: method,
rewrittenArguments: args,
argumentRefKindsOpt: refKinds,
argumentRefKindsOpt: default,
expanded: method.HasParamsParameter(),
invokedAsExtensionMethod: method.IsExtensionMethod,
argsToParamsOpt: default,
......
......@@ -1610,7 +1610,24 @@ internal ForEachLoopOperationInfo GetForEachLoopOperatorInfo(BoundForEachStateme
ref useSiteDiagnostics).IsImplicit :
false,
enumeratorInfoOpt.CurrentConversion,
boundForEachStatement.ElementConversion);
boundForEachStatement.ElementConversion,
getEnumeratorArguments: enumeratorInfoOpt.GetEnumeratorMethod is { IsExtensionMethod: true, Parameters: var parameters } enumeratorMethod
? Operation.SetParentOperation(
DeriveArguments(
boundForEachStatement,
enumeratorInfoOpt.Binder,
enumeratorMethod,
enumeratorMethod,
ImmutableArray.Create(boundForEachStatement.Expression),
argumentNamesOpt: default,
argumentsToParametersOpt: default,
argumentRefKindsOpt: default,
parameters,
expanded: false,
boundForEachStatement.Expression.Syntax,
invokedAsExtensionMethod: true),
null)
: default);
}
else
{
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">Asynchronní příkaz foreach nejde použít pro proměnné typu {0}, protože {0} neobsahuje vhodnou veřejnou definici instance pro {1}.</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Asynchronní příkaz foreach nejde použít pro proměnné typu {0}, protože {0} neobsahuje vhodnou veřejnou definici instance pro {1}.</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">Asynchronní příkaz foreach nejde použít pro proměnné typu {0}, protože {0} neobsahuje veřejnou definici instance pro {1}. Měli jste v úmyslu foreach místo await foreach?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">Asynchronní příkaz foreach nejde použít pro proměnné typu {0}, protože {0} neobsahuje veřejnou definici instance pro {1}. Měli jste v úmyslu foreach místo await foreach?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">Příkaz foreach nejde použít pro proměnné typu {0}, protože {0} neobsahuje veřejnou definici instance pro {1}. Měli jste v úmyslu await foreach místo foreach?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">Příkaz foreach nejde použít pro proměnné typu {0}, protože {0} neobsahuje veřejnou definici instance pro {1}. Měli jste v úmyslu await foreach místo foreach?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">rozšiřitelný příkaz fixed</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">externí místní funkce</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">Metoda označená jako [DoesNotReturn] by neměla vracet hodnotu</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">Typ neimplementuje vzorek kolekce. Členové nejsou jednoznační.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'{0} neimplementuje vzorek {1}. {2} je buď statický, nebo neveřejný.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">Typ neimplementuje vzorek kolekce. Člen je buď statický, nebo neveřejný.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'{0} neimplementuje vzorek {1}. {2} nemá správný podpis.</target>
......@@ -6420,8 +6430,8 @@ Blok catch() po bloku catch (System.Exception e) může zachytit výjimky, kter
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">Příkaz foreach nejde použít pro proměnné typu {0}, protože {0} neobsahuje veřejnou definici instance pro {1}.</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Příkaz foreach nejde použít pro proměnné typu {0}, protože {0} neobsahuje veřejnou definici instance pro {1}.</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">Eine asynchrone foreach-Anweisung kann nicht für Variablen vom Typ "{0}" verwendet werden, weil "{0}" keine geeignete öffentliche Instanzdefinition für "{1}" enthält.</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Eine asynchrone foreach-Anweisung kann nicht für Variablen vom Typ "{0}" verwendet werden, weil "{0}" keine geeignete öffentliche Instanzdefinition für "{1}" enthält.</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">Eine asynchrone foreach-Anweisung kann nicht für Variablen vom Typ "{0}" verwendet werden, weil "{0}" keine öffentliche Instanzendefinition für "{1}" enthält. Meinten Sie "foreach" statt "await foreach"?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">Eine asynchrone foreach-Anweisung kann nicht für Variablen vom Typ "{0}" verwendet werden, weil "{0}" keine öffentliche Instanzendefinition für "{1}" enthält. Meinten Sie "foreach" statt "await foreach"?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">Eine foreach-Anweisung kann nicht für Variablen vom Typ "{0}" verwendet werden, weil "{0}" keine öffentliche Instanzendefinition für "{1}" enthält. Meinten Sie "await foreach" statt "foreach"?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">Eine foreach-Anweisung kann nicht für Variablen vom Typ "{0}" verwendet werden, weil "{0}" keine öffentliche Instanzendefinition für "{1}" enthält. Meinten Sie "await foreach" statt "foreach"?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">Erweiterbare fixed-Anweisung</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">Externe lokale Funktionen</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">Eine mit [DoesNotReturn] gekennzeichnete Methode darf nicht zurückgegeben werden.</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">Der Typ implementiert nicht das Sammlungsmuster. Die Elemente sind nicht eindeutig.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'"{0}" implementiert das Muster "{1}" nicht. "{2}" ist entweder statisch oder nicht öffentlich.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">Der Typ implementiert nicht das Sammlungsmuster. Das Element ist statisch oder nicht öffentlich.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'"{0}" implementiert das Muster "{1}" nicht. "{2}" weist die falsche Signatur auf.</target>
......@@ -6420,8 +6430,8 @@ Ein catch()-Block nach einem catch (System.Exception e)-Block kann nicht-CLS-Aus
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">Eine foreach-Anweisung kann nicht für Variablen vom Typ "{0}" verwendet werden, da "{0}" keine öffentliche Instanzendefinition für "{1}" enthält.</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Eine foreach-Anweisung kann nicht für Variablen vom Typ "{0}" verwendet werden, da "{0}" keine öffentliche Instanzendefinition für "{1}" enthält.</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">Una instrucción foreach asincrónica no puede funcionar en variables de tipo "{0}", porque "{0}" no contiene una definición de instancia pública adecuada para "{1}".</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Una instrucción foreach asincrónica no puede funcionar en variables de tipo "{0}", porque "{0}" no contiene una definición de instancia pública adecuada para "{1}".</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">Una instrucción foreach asincrónica no puede funcionar en variables de tipo "{0}" porque "{0}" no contiene ninguna definición de instancia pública para "{1}". ¿Quiso decir “foreach” en lugar de “await foreach”?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">Una instrucción foreach asincrónica no puede funcionar en variables de tipo "{0}" porque "{0}" no contiene ninguna definición de instancia pública para "{1}". ¿Quiso decir “foreach” en lugar de “await foreach”?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">La instrucción foreach no puede funcionar en variables de tipo "{0}" porque "{0}" no contiene ninguna definición de instancia pública para "{1}". ¿Quiso decir “await foreach” en lugar de “foreach”?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">La instrucción foreach no puede funcionar en variables de tipo "{0}" porque "{0}" no contiene ninguna definición de instancia pública para "{1}". ¿Quiso decir “await foreach” en lugar de “foreach”?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">instrucción "fixed" extensible</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">funciones locales extern</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">Un método marcado como [DoesNotReturn] no debe devolver nada.</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">El tipo no implementa la trama de colección. Los miembros son ambiguos</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'{0}' no implementa el patrón '{1}'. '{2}' es estático o no público.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">El tipo no implementa la trama de colección. El miembro es estático o no es público</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'{0}' no implementa el patrón '{1}'. '{2}' tiene una firma incorrecta.</target>
......@@ -6420,8 +6430,8 @@ Un bloque catch() después de un bloque catch (System.Exception e) puede abarcar
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">La instrucción foreach no puede funcionar en variables de tipo "{0}" porque "{0}" no contiene ninguna definición de instancia pública para "{1}"</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">La instrucción foreach no puede funcionar en variables de tipo "{0}" porque "{0}" no contiene ninguna definición de instancia pública para "{1}"</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">L'instruction foreach asynchrone ne peut pas fonctionner sur des variables de type '{0}', car '{0}' ne contient aucune définition d'instance publique appropriée pour '{1}'</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">L'instruction foreach asynchrone ne peut pas fonctionner sur des variables de type '{0}', car '{0}' ne contient aucune définition d'instance publique appropriée pour '{1}'</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">L'instruction foreach asynchrone ne peut pas fonctionner sur des variables de type '{0}', car '{0}' ne contient pas de définition d'instance publique pour '{1}'. Vouliez-vous dire 'foreach' plutôt que 'await foreach' ?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">L'instruction foreach asynchrone ne peut pas fonctionner sur des variables de type '{0}', car '{0}' ne contient pas de définition d'instance publique pour '{1}'. Vouliez-vous dire 'foreach' plutôt que 'await foreach' ?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">L'instruction foreach ne peut pas fonctionner sur des variables de type '{0}', car '{0}' ne contient pas de définition d'instance publique pour '{1}'. Vouliez-vous dire 'await foreach' plutôt que 'foreach' ?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">L'instruction foreach ne peut pas fonctionner sur des variables de type '{0}', car '{0}' ne contient pas de définition d'instance publique pour '{1}'. Vouliez-vous dire 'await foreach' plutôt que 'foreach' ?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">instruction fixed extensible</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">fonctions locales externes</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">Une méthode marquée [DoesNotReturn] ne doit pas être retournée.</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">Un type n'implémente pas le modèle de la collection ; les membres sont ambigus</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'{0}' n'implémente pas le modèle '{1}'. '{2}' est static ou non public.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">Un type n'implémente pas le modèle de la collection ; un membre est statique ou n'est pas public</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'{0}' n'implémente pas le modèle '{1}'. '{2}' a une signature erronée.</target>
......@@ -6420,8 +6430,8 @@ Un bloc catch() après un bloc catch (System.Exception e) peut intercepter des e
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">L'instruction foreach ne peut pas fonctionner sur des variables de type '{0}', car '{0}' ne contient pas de définition d'instance publique pour '{1}'</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">L'instruction foreach ne peut pas fonctionner sur des variables de type '{0}', car '{0}' ne contient pas de définition d'instance publique pour '{1}'</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">L'istruzione foreach asincrona non può funzionare con variabili di tipo '{0}' perché '{0}' non contiene una definizione di istanza pubblica idonea per '{1}'</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">L'istruzione foreach asincrona non può funzionare con variabili di tipo '{0}' perché '{0}' non contiene una definizione di istanza pubblica idonea per '{1}'</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">L'istruzione foreach asincrona non può funzionare con variabili di tipo '{0}' perché '{0}' non contiene una definizione di istanza pubblica per '{1}'. Si intendeva 'foreach' invece di 'await foreach'?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">L'istruzione foreach asincrona non può funzionare con variabili di tipo '{0}' perché '{0}' non contiene una definizione di istanza pubblica per '{1}'. Si intendeva 'foreach' invece di 'await foreach'?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">L'istruzione foreach non può funzionare con variabili di tipo '{0}' perché '{0}' non contiene una definizione di istanza pubblica per '{1}'. Si intendeva 'await foreach' invece di 'foreach'?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">L'istruzione foreach non può funzionare con variabili di tipo '{0}' perché '{0}' non contiene una definizione di istanza pubblica per '{1}'. Si intendeva 'await foreach' invece di 'foreach'?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">istruzione fixed estendibile</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">funzioni locali extern</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">Un metodo contrassegnato con [DoesNotReturn] non deve essere terminare normalmente.</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">Il tipo non implementa il modello di raccolta. I membri sono ambigui</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'{0}' non implementa il modello '{1}'. '{2}' è statico o non pubblico.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">Il tipo non implementa il modello di raccolta. Il membro è statico o non pubblico</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'{0}' non implementa il modello '{1}'. La firma di '{2}' è errata.</target>
......@@ -6420,8 +6430,8 @@ Un blocco catch() dopo un blocco catch (System.Exception e) può rilevare eccezi
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">L'istruzione foreach non può funzionare con variabili di tipo '{0}' perché '{0}' non contiene una definizione di istanza pubblica per '{1}'</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">L'istruzione foreach non può funzionare con variabili di tipo '{0}' perché '{0}' non contiene una definizione di istanza pubblica per '{1}'</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">'{0}' は '{1}' の適切なパブリック インスタンス定義を含んでいないため、型 '{0}' の変数に対して非同期 foreach ステートメントを使用することはできません</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">'{0}' は '{1}' の適切なパブリック インスタンス定義を含んでいないため、型 '{0}' の変数に対して非同期 foreach ステートメントを使用することはできません</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">非同期 foreach ステートメントは、'{0}' が '{1}' のパブリック インスタンス定義を含んでいないため、型 '{0}' の変数に対して使用できません。'await foreach' ではなく 'foreach' ですか?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">非同期 foreach ステートメントは、'{0}' が '{1}' のパブリック インスタンス定義を含んでいないため、型 '{0}' の変数に対して使用できません。'await foreach' ではなく 'foreach' ですか?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">foreach ステートメントは、'{0}' が '{1}' のパブリック インスタンス定義を含んでいないため、型 '{0}' の変数に対して使用できません。'foreach' ではなく 'await foreach' ですか?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">foreach ステートメントは、'{0}' が '{1}' のパブリック インスタンス定義を含んでいないため、型 '{0}' の変数に対して使用できません。'foreach' ではなく 'await foreach' ですか?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">拡張可能な fixed ステートメント</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">extern ローカル関数</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">[DoesNotReturn] とマークされたメソッドを返すことはできません。</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">型は、コレクション パターンを実装しません。メンバーがあいまいです</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'{0}' は、パターン '{1}' を実装しません。'{2}' は、スタティックであるか、またはパブリックではありません。</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">型は、コレクション パターンを実装しません。メンバーは、スタティックであるか、またはパブリックではありません</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'{0}' は、パターン '{1}' を実装しません。'{2}' には正しくないシグネチャが含まれます。</target>
......@@ -6420,8 +6430,8 @@ AssemblyInfo.cs ファイルで RuntimeCompatibilityAttribute が false に設
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">foreach ステートメントは、'{0}' が '{1}' のパブリック インスタンス定義を含んでいないため、型 '{0}' の変数に対して使用できません</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">foreach ステートメントは、'{0}' が '{1}' のパブリック インスタンス定義を含んでいないため、型 '{0}' の変数に対して使用できません</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">'{0}' 형식 변수에서 비동기 foreach 문을 수행할 수 없습니다. '{0}'에는 '{1}'의 적합한 공용 인스턴스 정의가 없기 때문입니다.</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">'{0}' 형식 변수에서 비동기 foreach 문을 수행할 수 없습니다. '{0}'에는 '{1}'의 적합한 공용 인스턴스 정의가 없기 때문입니다.</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">'{0}' 형식 변수에서 비동기 foreach 문을 수행할 수 없습니다. '{0}'에는 '{1}'의 공용 인스턴스 정의가 없기 때문입니다. 'await foreach' 대신 'foreach'를 사용하시겠습니까?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">'{0}' 형식 변수에서 비동기 foreach 문을 수행할 수 없습니다. '{0}'에는 '{1}'의 공용 인스턴스 정의가 없기 때문입니다. 'await foreach' 대신 'foreach'를 사용하시겠습니까?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">'{0}' 형식 변수에서 foreach 문을 수행할 수 없습니다. '{0}'에는 '{1}'의 공용 인스턴스 정의가 없기 때문입니다. 'foreach' 대신 'await foreach'를 사용하시겠습니까?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">'{0}' 형식 변수에서 foreach 문을 수행할 수 없습니다. '{0}'에는 '{1}'의 공용 인스턴스 정의가 없기 때문입니다. 'foreach' 대신 'await foreach'를 사용하시겠습니까?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">확장 가능한 fixed 문</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">extern 로컬 함수</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">[DoesNotReturn]으로 표시된 메서드는 반환하지 않아야 합니다.</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">형식은 컬렉션 패턴을 구현하지 않습니다. 멤버가 모호합니다.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'{0}'이(가) '{1}' 패턴을 구현하지 않습니다. '{2}'이(가) public이 아니거나 static입니다.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">형식은 컬렉션 패턴을 구현하지 않습니다. 멤버가 public이 아니거나 static입니다.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'{0}'이(가) '{1}' 패턴을 구현하지 않습니다. '{2}'에 잘못된 시그니처가 있습니다.</target>
......@@ -6420,8 +6430,8 @@ catch (System.Exception e) 블록 뒤의 catch() 블록은 RuntimeCompatibilityA
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">'{0}' 형식 변수에서 foreach 문을 수행할 수 없습니다. '{0}'에는 '{1}'에 대한 공용 인스턴스 정의가 없기 때문입니다.</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">'{0}' 형식 변수에서 foreach 문을 수행할 수 없습니다. '{0}'에는 '{1}'에 대한 공용 인스턴스 정의가 없기 때문입니다.</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">Asynchroniczna instrukcja foreach nie może operować na zmiennych typu „{0}”, ponieważ typ „{0}” nie zawiera odpowiedniej publicznej definicji wystąpienia elementu „{1}”</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Asynchroniczna instrukcja foreach nie może operować na zmiennych typu „{0}”, ponieważ typ „{0}” nie zawiera odpowiedniej publicznej definicji wystąpienia elementu „{1}”</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">Asynchroniczna instrukcja foreach nie może operować na zmiennych typu „{0}”, ponieważ typ „{0}” nie zawiera publicznej definicji wystąpienia elementu „{1}”. Czy planowano użyć instrukcji „foreach”, a nie „await foreach”?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">Asynchroniczna instrukcja foreach nie może operować na zmiennych typu „{0}”, ponieważ typ „{0}” nie zawiera publicznej definicji wystąpienia elementu „{1}”. Czy planowano użyć instrukcji „foreach”, a nie „await foreach”?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">Instrukcja foreach nie może operować na zmiennych typu „{0}”, ponieważ typ „{0}” nie zawiera publicznej definicji wystąpienia elementu „{1}”. Czy planowano użyć instrukcji „await foreach”, a nie „foreach”?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">Instrukcja foreach nie może operować na zmiennych typu „{0}”, ponieważ typ „{0}” nie zawiera publicznej definicji wystąpienia elementu „{1}”. Czy planowano użyć instrukcji „await foreach”, a nie „foreach”?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">rozszerzalna instrukcja fixed</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">ustaw funkcje lokalne jako zewnętrzne</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">Metoda z oznaczeniem [DoesNotReturn] nie powinna zwracać wartości.</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">Typ nie zawiera implementacji wzorca kolekcji; składowe są niejednoznaczne</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'Element „{0}” nie implementuje wzorca „{1}”. Element „{2}” jest statyczny lub nie jest publiczny.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">Typ nie zawiera implementacji wzorca kolekcji; składowa jest statyczna lub niepubliczna</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'Element „{0}” nie implementuje wzorca „{1}”. Element „{2}” ma nieprawidłową sygnaturę.</target>
......@@ -6420,8 +6430,8 @@ Blok catch() po bloku catch (System.Exception e) może przechwytywać wyjątki n
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">Instrukcja foreach nie może operować na zmiennych typu „{0}”, ponieważ typ „{0}” nie zawiera publicznej definicji wystąpienia elementu „{1}”</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Instrukcja foreach nie może operować na zmiennych typu „{0}”, ponieważ typ „{0}” nie zawiera publicznej definicji wystąpienia elementu „{1}”</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">A instrução foreach assíncrona não pode operar em variáveis do tipo '{0}' porque '{0}' não contém uma definição da instância pública adequada para '{1}'</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">A instrução foreach assíncrona não pode operar em variáveis do tipo '{0}' porque '{0}' não contém uma definição da instância pública adequada para '{1}'</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">A instrução foreach assíncrona não pode operar em variáveis do tipo '{0}' porque '{0}' não contém uma definição da instância pública para '{1}'. Você quis dizer 'foreach' em vez de 'await foreach'?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">A instrução foreach assíncrona não pode operar em variáveis do tipo '{0}' porque '{0}' não contém uma definição da instância pública para '{1}'. Você quis dizer 'foreach' em vez de 'await foreach'?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">A instrução foreach não pode operar em variáveis do tipo '{0}' porque '{0}' não contém uma definição da instância pública para '{1}'. Você quis dizer 'await foreach' em vez de 'foreach'?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">A instrução foreach não pode operar em variáveis do tipo '{0}' porque '{0}' não contém uma definição da instância pública para '{1}'. Você quis dizer 'await foreach' em vez de 'foreach'?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1305,6 +1305,16 @@
<target state="translated">instrução fixed extensível</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">funções locais externas</target>
......@@ -2440,6 +2450,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">Um método marcado como [DoesNotReturn] não deve ser retornado.</target>
......@@ -3955,16 +3975,6 @@
<target state="translated">O tipo não implementa o padrão de coleção; os membros são ambíguos</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'"{0}" não implementa o padrão "{1}". "{2}" é estático ou não público.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">O tipo não implementa o padrão de coleção; o membro é estático ou não é público</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'"{0}" não implementa o padrão "{1}". "{2}" tem a assinatura errada.</target>
......@@ -6419,8 +6429,8 @@ Um bloco catch() depois de um bloco catch (System.Exception e) poderá capturar
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">A instrução foreach não pode operar em variáveis do tipo '{0}' porque '{0}' não contém uma definição da instância pública para '{1}'</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">A instrução foreach não pode operar em variáveis do tipo '{0}' porque '{0}' não contém uma definição da instância pública para '{1}'</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">Асинхронный оператор foreach не работает с переменными типа "{0}", так как "{0}" не содержит подходящее открытое определение экземпляра для "{1}".</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Асинхронный оператор foreach не работает с переменными типа "{0}", так как "{0}" не содержит подходящее открытое определение экземпляра для "{1}".</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">Асинхронный оператор foreach не работает с переменными типа "{0}", так как "{0}" не содержит открытое определение экземпляра для "{1}" Возможно, вы имели в виду "foreach", а не "await foreach"?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">Асинхронный оператор foreach не работает с переменными типа "{0}", так как "{0}" не содержит открытое определение экземпляра для "{1}" Возможно, вы имели в виду "foreach", а не "await foreach"?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">Оператор foreach не работает с переменными типа "{0}", так как "{0}" не содержит открытое определение экземпляра для "{1}" Возможно, вы имели в виду "await foreach", а не "foreach"?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">Оператор foreach не работает с переменными типа "{0}", так как "{0}" не содержит открытое определение экземпляра для "{1}" Возможно, вы имели в виду "await foreach", а не "foreach"?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">расширяемый оператор fixed</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">Внешние локальные функции</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">Метод, помеченный [DoesNotReturn], не должен возвращать значение.</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">Тип не реализует шаблон коллекции: члены неоднозначны</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'"{0}" не реализует шаблон "{1}". "{2}" либо статический, либо не открытый.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">Тип не реализует шаблон коллекции: член является статическим или закрытым</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'"{0}" не реализует шаблон "{1}". "{2}" имеет неправильную сигнатуру.</target>
......@@ -6420,8 +6430,8 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">Оператор foreach не работает с переменными типа "{0}", так как "{0}" не содержит открытое определение экземпляра для "{1}"</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">Оператор foreach не работает с переменными типа "{0}", так как "{0}" не содержит открытое определение экземпляра для "{1}"</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">'{0}', '{1}' için uygun bir genel örnek tanımı içermediğinden zaman uyumsuz foreach deyimi '{0}' türündeki değişkenlerle çalışmaz</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">'{0}', '{1}' için uygun bir genel örnek tanımı içermediğinden zaman uyumsuz foreach deyimi '{0}' türündeki değişkenlerle çalışmaz</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">'{0}', '{1}' için bir genel örnek tanımı içermediğinden zaman uyumsuz foreach deyimi '{0}' türündeki değişkenlerle çalışmaz. 'await foreach' yerine 'foreach' mi kullanmak istediniz?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">'{0}', '{1}' için bir genel örnek tanımı içermediğinden zaman uyumsuz foreach deyimi '{0}' türündeki değişkenlerle çalışmaz. 'await foreach' yerine 'foreach' mi kullanmak istediniz?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">'{0}', '{1}' için bir genel örnek tanımı içermediğinden foreach deyimi '{0}' türündeki değişkenlerle çalışamaz. 'foreach' yerine 'await foreach' mi kullanmak istediniz?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">'{0}', '{1}' için bir genel örnek tanımı içermediğinden foreach deyimi '{0}' türündeki değişkenlerle çalışamaz. 'foreach' yerine 'await foreach' mi kullanmak istediniz?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">genişletilebilir fixed deyimi</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">extern yerel işlevleri</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">[DoesNotReturn] olarak işaretlenen bir metot, değer döndürmemelidir.</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">Tür koleksiyon desenini uygulamaz; üyeler belirsiz</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'{0}', '{1}' kalıbını uygulamaz. '{2}' statik veya ortak değil.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">Tür koleksiyon desenini uygulamaz, üye statik veya genel değil</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'{0}', '{1}' kalıbını uygulamaz. '{2}' yanlış imzaya sahip.</target>
......@@ -6420,8 +6430,8 @@ RuntimeCompatibilityAttribute AssemblyInfo.cs dosyasında false olarak ayarlanm
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">{0}' bir '{1}' ortak örnek tanımı içermediğinden veya erişilemez olduğundan foreach deyimi '{0}' türündeki değişkenlerde çalışamaz</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">{0}' bir '{1}' ortak örnek tanımı içermediğinden veya erişilemez olduğundan foreach deyimi '{0}' türündeki değişkenlerde çalışamaz</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">“{0}”不包含“{1}”的适当公共实例定义,因此异步 foreach 语句不能作用于“{0}”类型的变量</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">“{0}”不包含“{1}”的适当公共实例定义,因此异步 foreach 语句不能作用于“{0}”类型的变量</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">“{0}”不包含“{1}”的公共实例定义,因此异步 foreach 语句不能作用于“{0}”类型的变量。是否希望使用 "foreach" 而非 "await foreach"?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">“{0}”不包含“{1}”的公共实例定义,因此异步 foreach 语句不能作用于“{0}”类型的变量。是否希望使用 "foreach" 而非 "await foreach"?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">“{0}”不包含“{1}”的公共实例定义,因此 foreach 语句不能作用于“{0}”类型的变量。是否希望使用 "await foreach" 而非 "foreach"?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">“{0}”不包含“{1}”的公共实例定义,因此 foreach 语句不能作用于“{0}”类型的变量。是否希望使用 "await foreach" 而非 "foreach"?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">可扩展 fixed 语句</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">外部本地函数</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">不应返回标记为 [DoesNotReturn] 的方法。</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">类型不实现集合模式;成员不明确</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'“{0}”不实现“{1}”模式。“{2}”是静态的或非公共的。</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">类型不实现集合模式;成员静态的或非公共的</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'“{0}”不实现“{1}”模式。“{2}”有错误的签名。</target>
......@@ -6420,8 +6430,8 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">“{0}”不包含“{1}”的公共实例定义,因此 foreach 语句不能作用于“{0}”类型的变量</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">“{0}”不包含“{1}”的公共实例定义,因此 foreach 语句不能作用于“{0}”类型的变量</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -78,13 +78,13 @@
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMember">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance definition for '{1}'</source>
<target state="translated">因為 '{0}' 不包含適用於 '{1}' 的公用執行個體定義,所以非同步的 foreach 陳述式無法在類型為 '{0}' 的變數上運作</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a suitable public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">因為 '{0}' 不包含適用於 '{1}' 的公用執行個體定義,所以非同步的 foreach 陳述式無法在類型為 '{0}' 的變數上運作</target>
<note />
</trans-unit>
<trans-unit id="ERR_AwaitForEachMissingMemberWrongAsync">
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="translated">因為 '{0}' 不包含 '{1}' 的公用執行個體定義,所以非同步的 foreach 陳述式無法在型別 '{0}' 的變數上作業。您指的是 'foreach' 而不是 'await foreach' 嗎?</target>
<source>Asynchronous foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'foreach' rather than 'await foreach'?</source>
<target state="needs-review-translation">因為 '{0}' 不包含 '{1}' 的公用執行個體定義,所以非同步的 foreach 陳述式無法在型別 '{0}' 的變數上作業。您指的是 'foreach' 而不是 'await foreach' 嗎?</target>
<note />
</trans-unit>
<trans-unit id="ERR_BadDynamicAwaitForEach">
......@@ -378,8 +378,8 @@
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMemberWrongAsync">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="translated">因為 '{0}' 不包含 '{1}' 的公用執行個體定義,所以 foreach 陳述式無法在型別 '{0}' 的變數上作業。您指的是 'await foreach' 而不是 'foreach' 嗎?</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'. Did you mean 'await foreach' rather than 'foreach'?</source>
<target state="needs-review-translation">因為 '{0}' 不包含 '{1}' 的公用執行個體定義,所以 foreach 陳述式無法在型別 '{0}' 的變數上作業。您指的是 'await foreach' 而不是 'foreach' 嗎?</target>
<note />
</trans-unit>
<trans-unit id="ERR_FuncPtrMethMustBeStatic">
......@@ -1306,6 +1306,16 @@
<target state="translated">可延伸 fixed 陳述式</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetAsyncEnumerator">
<source>extension GetAsyncEnumerator</source>
<target state="new">extension GetAsyncEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExtensionGetEnumerator">
<source>extension GetEnumerator</source>
<target state="new">extension GetEnumerator</target>
<note />
</trans-unit>
<trans-unit id="IDS_FeatureExternLocalFunctions">
<source>extern local functions</source>
<target state="translated">外部區域函式</target>
......@@ -2441,6 +2451,16 @@
<target state="new">Operator cannot be used here due to precedence.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</source>
<target state="new">'{0}' does not implement the '{1}' pattern. '{2}' is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternNotPublicOrNotInstance_Title">
<source>Type does not implement the collection pattern; member is is not a public instance or extension method.</source>
<target state="new">Type does not implement the collection pattern; member is is not a public instance or extension method.</target>
<note />
</trans-unit>
<trans-unit id="WRN_ShouldNotReturn">
<source>A method marked [DoesNotReturn] should not return.</source>
<target state="translated">標記 [DoesNotReturn] 的方法不應傳回。</target>
......@@ -3956,16 +3976,6 @@
<target state="translated">類型未實作集合模式; 成員模稜兩可</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible">
<source>'{0}' does not implement the '{1}' pattern. '{2}' is either static or not public.</source>
<target state="translated">'{0}' 未實作 '{1}' 模式,因為 '{2}' 為靜態或並非公用。</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternStaticOrInaccessible_Title">
<source>Type does not implement the collection pattern; member is either static or not public</source>
<target state="translated">類型未實作集合模式; 成員為靜態或非公用</target>
<note />
</trans-unit>
<trans-unit id="WRN_PatternBadSignature">
<source>'{0}' does not implement the '{1}' pattern. '{2}' has the wrong signature.</source>
<target state="translated">'{0}' 未實作 '{1}' 模式。'{2}' 的簽章錯誤。</target>
......@@ -6420,8 +6430,8 @@ A catch() block after a catch (System.Exception e) block can catch non-CLS excep
<note />
</trans-unit>
<trans-unit id="ERR_ForEachMissingMember">
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance definition for '{1}'</source>
<target state="translated">foreach 陳述式不可用在類型 '{0}' 的變數上,因為 '{0}' 未包含 '{1}' 的公用執行個體定義</target>
<source>foreach statement cannot operate on variables of type '{0}' because '{0}' does not contain a public instance or extension definition for '{1}'</source>
<target state="needs-review-translation">foreach 陳述式不可用在類型 '{0}' 的變數上,因為 '{0}' 未包含 '{1}' 的公用執行個體定義</target>
<note />
</trans-unit>
<trans-unit id="WRN_BadXMLRefParamType">
......
......@@ -2460,6 +2460,69 @@ public static void Deconstruct(this C value, out int a, out string b)
comp.VerifyDiagnostics();
}
[Fact]
public void DeconstructRefExtensionMethod()
{
// https://github.com/dotnet/csharplang/blob/master/meetings/2018/LDM-2018-01-24.md
string source = @"
struct C
{
static void Main()
{
long x;
string y;
var c = new C();
(x, y) = c;
System.Console.WriteLine(x + "" "" + y);
}
}
static class D
{
public static void Deconstruct(this ref C value, out int a, out string b)
{
a = 1;
b = ""hello"";
}
}
";
CreateCompilation(source).VerifyDiagnostics(
// (10,9): error CS1510: A ref or out value must be an assignable variable
// (x, y) = c;
Diagnostic(ErrorCode.ERR_RefLvalueExpected, "(x, y) = c").WithLocation(10, 9)
);
}
[Fact]
public void DeconstructInExtensionMethod()
{
string source = @"
struct C
{
static void Main()
{
long x;
string y;
(x, y) = new C();
System.Console.WriteLine(x + "" "" + y);
}
}
static class D
{
public static void Deconstruct(this in C value, out int a, out string b)
{
a = 1;
b = ""hello"";
}
}
";
var comp = CompileAndVerify(source, expectedOutput: "1 hello");
comp.VerifyDiagnostics();
}
[Fact]
public void UnderspecifiedDeconstructGenericExtensionMethod()
{
......
......@@ -222,9 +222,9 @@ bool System.Collections.IEnumerator.MoveNext()
}
";
CreateCompilationWithoutBetterCandidates(source, options: TestOptions.ReleaseExe).VerifyDiagnostics(
// (6,27): warning CS0279: 'MyCollection' does not implement the 'collection' pattern. 'MyCollection.GetEnumerator()' is either static or not public.
// (6,27): warning CS0279: 'MyCollection' does not implement the 'collection' pattern. 'MyCollection.GetEnumerator()' is not a public instance or extension method.
// foreach (var q in c) { }
Diagnostic(ErrorCode.WRN_PatternStaticOrInaccessible, "c").WithArguments("MyCollection", "collection", "MyCollection.GetEnumerator()").WithLocation(6, 27)
Diagnostic(ErrorCode.WRN_PatternNotPublicOrNotInstance, "c").WithArguments("MyCollection", "collection", "MyCollection.GetEnumerator()").WithLocation(6, 27)
);
var compilation = CreateCompilationWithBetterCandidates(source, options: TestOptions.ReleaseExe).VerifyDiagnostics();
CompileAndVerify(compilation, expectedOutput: "12");
......@@ -267,7 +267,7 @@ public bool MoveNext()
// (26,24): error CS0111: Type 'MyEnumerator' already defines a member called 'MoveNext' with the same parameter types
// public static bool MoveNext() => throw null;
Diagnostic(ErrorCode.ERR_MemberAlreadyExists, "MoveNext").WithArguments("MoveNext", "MyEnumerator").WithLocation(26, 24),
// (6,27): error CS0202: foreach requires that the return type 'MyEnumerator' of 'MyCollection.GetEnumerator()' must have a suitable public MoveNext method and public Current property
// (6,27): error CS0202: foreach requires that the return type 'MyEnumerator' of 'MyCollection.GetEnumerator()' must have a suitable public 'MoveNext' method and public 'Current' property
// foreach (var q in c) { }
Diagnostic(ErrorCode.ERR_BadGetEnumerator, "c").WithArguments("MyEnumerator", "MyCollection.GetEnumerator()").WithLocation(6, 27)
);
......
......@@ -3705,7 +3705,7 @@ static void Main()
// (6,36): error CS0103: The name 'x1' does not exist in the current context
// foreach (var (x1, x2) in M(x1)) { }
Diagnostic(ErrorCode.ERR_NameNotInContext, "x1").WithArguments("x1").WithLocation(6, 36),
// (6,34): error CS1579: foreach statement cannot operate on variables of type '(int, int)' because '(int, int)' does not contain a public instance definition for 'GetEnumerator'
// (6,34): error CS1579: foreach statement cannot operate on variables of type '(int, int)' because '(int, int)' does not contain a public instance or extension definition for 'GetEnumerator'
// foreach (var (x1, x2) in M(x1)) { }
Diagnostic(ErrorCode.ERR_ForEachMissingMember, "M(x1)").WithArguments("(int, int)", "GetEnumerator").WithLocation(6, 34),
// (6,23): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'x1'.
......
......@@ -1858,7 +1858,7 @@ public struct S1
";
var comp = CreateCompilation(csharp);
comp.VerifyDiagnostics(
// (6,27): error CS1579: foreach statement cannot operate on variables of type 'S1' because 'S1' does not contain a public instance definition for 'GetEnumerator'
// (6,27): error CS1579: foreach statement cannot operate on variables of type 'S1' because 'S1' does not contain a public instance or extension definition for 'GetEnumerator'
// foreach (var x in this) {}
Diagnostic(ErrorCode.ERR_ForEachMissingMember, "this").WithArguments("S1", "GetEnumerator").WithLocation(6, 27));
}
......
......@@ -14442,9 +14442,9 @@ public static void Main()
}
}";
CreateCompilation(text).VerifyDiagnostics(
// (45,27): warning CS0279: 'MyCollection' does not implement the 'collection' pattern. 'MyCollection.GetEnumerator()' is either static or not public.
// (45,27): warning CS0279: 'MyCollection' does not implement the 'collection' pattern. 'MyCollection.GetEnumerator()' is not a public instance or extension method.
// foreach (int i in col) // CS1579
Diagnostic(ErrorCode.WRN_PatternStaticOrInaccessible, "col").WithArguments("MyCollection", "collection", "MyCollection.GetEnumerator()"),
Diagnostic(ErrorCode.WRN_PatternNotPublicOrNotInstance, "col").WithArguments("MyCollection", "collection", "MyCollection.GetEnumerator()"),
// (45,27): error CS1579: foreach statement cannot operate on variables of type 'MyCollection' because 'MyCollection' does not contain a public definition for 'GetEnumerator'
// foreach (int i in col) // CS1579
Diagnostic(ErrorCode.ERR_ForEachMissingMember, "col").WithArguments("MyCollection", "GetEnumerator"));
......@@ -19524,8 +19524,8 @@ public static void Main()
}
";
CreateCompilation(text).VerifyDiagnostics(
// (18,27): warning CS0279: 'myTest' does not implement the 'collection' pattern. 'myTest.GetEnumerator()' is either static or not public.
Diagnostic(ErrorCode.WRN_PatternStaticOrInaccessible, "new myTest()").WithArguments("myTest", "collection", "myTest.GetEnumerator()"));
// (18,27): warning CS0279: 'myTest' does not implement the 'collection' pattern. 'myTest.GetEnumerator()' is not a public instance or extension method.
Diagnostic(ErrorCode.WRN_PatternNotPublicOrNotInstance, "new myTest()").WithArguments("myTest", "collection", "myTest.GetEnumerator()"));
}
[Fact]
......
......@@ -2591,6 +2591,92 @@ void TestFunc()
}");
}
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]
public async Task TestOnExtensionGetEnumerator()
{
var code =
@"
using System.Collections.Generic;
namespace N {
static class Extensions
{
public static IEnumerator<int> GetEnumerator(this object o)
{
}
}
class C1
{
void M1()
{
new object().[|GetEnumerator|](1);
foreach (var a in new object());
}
}}";
var fix =
@"
using System.Collections.Generic;
namespace N {
static class Extensions
{
public static IEnumerator<int> GetEnumerator(this object o, int v)
{
}
}
class C1
{
void M1()
{
new object().GetEnumerator(1);
foreach (var a in new object());
}
}}";
await TestInRegularAndScriptAsync(code, fix);
}
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]
public async Task TestOnExtensionGetAsyncEnumerator()
{
var code =
@"
using System.Collections.Generic;
using System.Threading.Tasks;
namespace N {
static class Extensions
{
public static IAsyncEnumerator<int> GetAsyncEnumerator(this object o)
{
}
}
class C1
{
async Task M1()
{
new object().[|GetAsyncEnumerator|](1);
await foreach (var a in new object());
}
}}" + IAsyncEnumerable;
var fix =
@"
using System.Collections.Generic;
using System.Threading.Tasks;
namespace N {
static class Extensions
{
public static IAsyncEnumerator<int> GetAsyncEnumerator(this object o, int v)
{
}
}
class C1
{
async Task M1()
{
new object().GetAsyncEnumerator(1);
await foreach (var a in new object());
}
}}" + IAsyncEnumerable;
await TestInRegularAndScriptAsync(code, fix);
}
[WorkItem(44271, "https://github.com/dotnet/roslyn/issues/44271")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsAddParameter)]
public async Task TopLevelStatement()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册