Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sample/AutoQueryDemo/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
Fields = "Id,Name",
Sort = "-Id",
FilterIds = [3, 4],
FilterName = "Alice Johnson"
}).ToArray();

Console.WriteLine("Filtered Users:");
Expand Down
18 changes: 9 additions & 9 deletions src/AutoQuery/Internal/MultiParameterReplacer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace AutoQuery.Internal;

/// <summary>
/// MultiParameterReplacer 類別用於替換表達式中的多個參數。
/// The MultiParameterReplacer class is used to replace multiple parameters in an expression.
/// </summary>
internal class MultiParameterReplacer : ExpressionVisitor
{
Expand All @@ -13,12 +13,12 @@ internal class MultiParameterReplacer : ExpressionVisitor
private readonly Expression _replacement2;

/// <summary>
/// 初始化 MultiParameterReplacer 類別的新實例。
/// Initializes a new instance of the MultiParameterReplacer class.
/// </summary>
/// <param name="param1">要替換的第一個參數。</param>
/// <param name="replacement1">第一個參數的替換表達式。</param>
/// <param name="param2">要替換的第二個參數。</param>
/// <param name="replacement2">第二個參數的替換表達式。</param>
/// <param name="param1">The first parameter to replace.</param>
/// <param name="replacement1">The replacement expression for the first parameter.</param>
/// <param name="param2">The second parameter to replace.</param>
/// <param name="replacement2">The replacement expression for the second parameter.</param>
internal MultiParameterReplacer(ParameterExpression param1, Expression replacement1, ParameterExpression param2, Expression replacement2)
{
_param1 = param1;
Expand All @@ -28,10 +28,10 @@ internal MultiParameterReplacer(ParameterExpression param1, Expression replaceme
}

/// <summary>
/// 訪問參數節點並進行替換。
/// Visits a parameter node and performs replacement.
/// </summary>
/// <param name="node">要訪問的參數節點。</param>
/// <returns>替換後的表達式。</returns>
/// <param name="node">The parameter node to visit.</param>
/// <returns>The expression after replacement.</returns>
protected override Expression VisitParameter(ParameterExpression node)
{
if (node == _param1) return _replacement1;
Expand Down
14 changes: 7 additions & 7 deletions src/AutoQuery/Internal/ParameterReplacer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,29 @@
namespace AutoQuery.Internal;

/// <summary>
/// 參數替換器,用於在表達式樹中替換參數。
/// A parameter replacer used to replace parameters in an expression tree.
/// </summary>
internal class ParameterReplacer : ExpressionVisitor
{
private readonly ParameterExpression _oldParam;
private readonly Expression _newParam;

/// <summary>
/// 初始化 <see cref="ParameterReplacer"/> 類別的新執行個體。
/// Initializes a new instance of the <see cref="ParameterReplacer"/> class.
/// </summary>
/// <param name="oldParam">要被替換的舊參數。</param>
/// <param name="newParam">用來替換的新的表達式。</param>
/// <param name="oldParam">The old parameter to be replaced.</param>
/// <param name="newParam">The new expression to replace with.</param>
internal ParameterReplacer(ParameterExpression oldParam, Expression newParam)
{
_oldParam = oldParam;
_newParam = newParam;
}

/// <summary>
/// 訪問並可能修改參數表達式。
/// Visits and potentially modifies a parameter expression.
/// </summary>
/// <param name="node">要訪問的參數表達式。</param>
/// <returns>替換後的表達式,如果沒有替換則返回原始表達式。</returns>
/// <param name="node">The parameter expression to visit.</param>
/// <returns>The replaced expression, or the original expression if no replacement occurred.</returns>
protected override Expression VisitParameter(ParameterExpression node)
{
return node == _oldParam ? _newParam : base.VisitParameter(node);
Expand Down