Generic IEnumerator not disposed
まだ誰も着手していません。
評価
調査の方向性
Mapster.Tool から始め、示されている NewConfig<TSource, TDestination>().GenerateMapper(...) 登録を使用して、生成された拡張メソッドを再現します。該当する場合はインターフェイスから生成されたコードを含め、GetEnumerator() の生成経路を調査します。生成されたジェネリック列挙子が反復処理中に破棄され、反復処理の動作が変わらないことを完了条件とします。
索引モデルが issue の本文から書いたものです。
説明
I'm using Mapster.Tool to generate extension methods from my mapping registrations like so:
config.NewConfig<TSource, TDestination>().GenerateMapper(MapType.Map | MapType.MapToTarget);
When inspecting the generated code I noticed that anywhere GetEnumerator() is used, the generic Enumerator is never disposed.
This is a snippet of what is being generated:
...
IEnumerator<string> enumerator = p2.GetEnumerator();
while (enumerator.MoveNext())
{
string item = enumerator.Current;
result.Add(item);
}
return result;
I believe what it should be generating is the following:
using IEnumerator<string> enumerator = p2.GetEnumerator();
while (enumerator.MoveNext())
{
string item = enumerator.Current;
result.Add(item);
}
return result;
I'm not sure if this issue arises in other areas (e.g. generated code from interfaces) as I haven't tested it personally, but I would expect the Mapster.Tool generates the code the same way.
- 主要言語
- C#
- スター
- 5.2k
- フォーク
- 409
- 平均マージ
- 3日 4時間
- マージ済み PR(30日)
- 3
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
MapsterMapper/Mapster のほかの issue
-
.NET Matrixオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
MapsterMapper/Mapster#1003 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
MapsterMapper/Mapster#1024 · コメント 1 件 ·
-
[Mapster Tool] Add support for global:: to disambiguate type names in generated mappers対応中かも @DocSvartz が 1 日前に担当しました。 オープンimprovement
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
MapsterMapper/Mapster#1020 · コメント 3 件 ·
-
Mapster.Tool - PropertySettingBuilder.Map(member, mapFunc, targetPropertyName) method is not working as expected!対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
MapsterMapper/Mapster#1017 · コメント 6 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 57/100
MapsterMapper/Mapster#1007 · コメント 5 件 ·
MapsterMapper/Mapster の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
KnifeLemon/Filee#294 ·
メンテナーはふだん 1 日以内に返信
-
応募に出す、展示スペースの図面を作るオープンmtg-decide submission
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
Fialuxe/MouthOfGod_System#288 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
gavin-wolfe/wolfden#104 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
[BUG] Still libmicrohttpd dependency is not removed properly from External-Dependency-Info.txt file対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンtype/bug
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信