请教 MongoDB 驱动中的一段继承代码含义
資深大佬 : hjahgdthab750 7
using MongoDB.Driver; using System; /// <summary> /// The result of a delete operation. /// </summary> public abstract class DeleteResult { /// <summary> /// The result of an acknowledged delete operation. /// </summary> public class Acknowledged : DeleteResult { private readonly long _deletedCount; /// <inheritdoc /> public override long DeletedCount => _deletedCount; /// <inheritdoc /> public override bool IsAcknowledged => true; /// <summary> /// Initializes a new instance of the <see cref="T:MongoDB.Driver.DeleteResult.Acknowledged" /> class. /// </summary> /// <param name="deletedCount">The deleted count.</param> public Acknowledged (long deletedCount); } /// <summary> /// The result of an unacknowledged delete operation. /// </summary> public class Unacknowledged : DeleteResult { private static Unacknowledged __instance = new Unacknowledged (); /// <summary> /// Gets the instance. /// </summary> public static Unacknowledged Instance => __instance; /// <inheritdoc /> public override long DeletedCount { get; } /// <inheritdoc /> public override bool IsAcknowledged => false; private Unacknowledged (); } /// <summary> /// Gets the deleted count. If IsAcknowledged is false, this will throw an exception. /// </summary> public abstract long DeletedCount { get; } /// <summary> /// Gets a value indicating whether the result is acknowledged. /// </summary> public abstract bool IsAcknowledged { get; } internal static DeleteResult FromCore (BulkWriteResult result); }
上面的 Acknowleged 继承于 DeleteResult 可以是为啥要写到 DeleteResult 之中?岂不是造成循环了?
大佬有話說 (3)