BridgingIT.DevKit.Common.Abstractions 9.0.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package BridgingIT.DevKit.Common.Abstractions --version 9.0.6
                    
NuGet\Install-Package BridgingIT.DevKit.Common.Abstractions -Version 9.0.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BridgingIT.DevKit.Common.Abstractions" Version="9.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BridgingIT.DevKit.Common.Abstractions" Version="9.0.6" />
                    
Directory.Packages.props
<PackageReference Include="BridgingIT.DevKit.Common.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BridgingIT.DevKit.Common.Abstractions --version 9.0.6
                    
#r "nuget: BridgingIT.DevKit.Common.Abstractions, 9.0.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BridgingIT.DevKit.Common.Abstractions@9.0.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BridgingIT.DevKit.Common.Abstractions&version=9.0.6
                    
Install as a Cake Addin
#tool nuget:?package=BridgingIT.DevKit.Common.Abstractions&version=9.0.6
                    
Install as a Cake Tool

bITDevKit

Empowering developers with modular components for modern application development, centered around Domain-Driven Design principles.

Our goal is to empower developers by offering modular components that can be easily integrated into your projects. Whether you're working with repositories, commands, queries, or other components, the bITDevKit provides flexible solutions that can adapt to your specific needs.

This repository includes the complete source code for the bITDevKit, along with a variety of sample applications located in the ./examples folder within the solution. These samples serve as practical demonstrations of how to leverage the capabilities of the bITDevKit in real-world scenarios. All components are available as nuget packages.

For the latest updates and release notes, please refer to the RELEASES.

Join us in advancing the world of software development with the bITDevKit!


Result.cs Overview

The Result class encapsulates the outcome of an operation, promoting an expressive and error-tolerant way to handle success and failure states.

The Result class is a central component designed to encapsulate the outcome of an operation, providing a way to represent both successful and failed operations. This class promotes a more expressive and error-tolerant approach to handling operation results, encouraging the explicit declaration of success or failure states.

Returning a Result

To return a Result from a method, you typically define the method to return Result or Result<T>, where T is the type of the value returned in case of success. Here is an example method returning a Result:

public Result PerformOperation()
{
    // Your logic here
    
    if (success)
    {
        return Result.Success();
    }
    else
    {
        return Result.Failure(new Error("Operation Failed"));
    }
}

Handling a Result

When you receive a Result from a method, you can handle it by checking its success or failure state. Here's an example:

var result = PerformOperation();

if (result.IsSuccess)
{
    // Handle success
}
else
{
    // Handle failure
    var error = result.Error;
    Console.WriteLine(error.Message);
}

Using Typed Results

Sometimes, you may want to return a result with a value. This is where Result<T> comes in handy:

public Result<int> CalculateSum(int a, int b)
{
    if (a < 0 || b < 0)
    {
        return Result.Failure<int>(new Error("Inputs must be non-negative"));
    }

    return Result.Success(a + b);
}

Handling a Result<T> involves extracting the value if the operation was successful:

var result = CalculateSum(5, 10);

if (result.IsSuccess)
{
    int sum = result.Value;
    Console.WriteLine($"Sum: {sum}");
}
else
{
    Console.WriteLine(result.Error.Message);
}

Typed Errors

Typed errors provide a more specific and structured way to handle different error scenarios. For example, the EntityNotFoundResultError class can be used to represent an error where an entity is not found:

EntityNotFoundResultError.cs:
public class EntityNotFoundResultError : Error
{
    public EntityNotFoundResultError(string entityName, object key)
        : base($"Entity '{entityName}' with key '{key}' was not found.")
    {
    }
}

You can return this typed error as follows:

public Result GetEntity(int id)
{
    var entity = repository.FindById(id);

    if (entity == null)
    {
        return Result.Failure(new EntityNotFoundResultError("EntityName", id));
    }

    return Result.Success(entity);
}

When handling the result, you can check if the error is of a specific type:

var result = GetEntity(1);

if (result.IsSuccess)
{
    // Handle success
}
else if (result.Error is EntityNotFoundResultError)
{
    var error = (EntityNotFoundResultError)result.Error;
    Console.WriteLine(error.Message);
}
else
{
    // Handle other errors
}

Other available typed errors are:

By using typed errors, you can create more expressive and manageable error handling in your application.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (14)

Showing the top 5 NuGet packages that depend on BridgingIT.DevKit.Common.Abstractions:

Package Downloads
BridgingIT.DevKit.Common.Utilities

BridgingIT DevKit: Empowering developers with modular components for modern application development, centered around Domain-Driven Design principles. Our goal is to empower developers by offering modular components that can be easily integrated into your projects. Whether you're working with repositories, commands, queries, or other components, the bITDevKit provides flexible solutions that can adapt to your specific needs.

BridgingIT.DevKit.Common.Serialization

BridgingIT DevKit: Empowering developers with modular components for modern application development, centered around Domain-Driven Design principles. Our goal is to empower developers by offering modular components that can be easily integrated into your projects. Whether you're working with repositories, commands, queries, or other components, the bITDevKit provides flexible solutions that can adapt to your specific needs.

BridgingIT.DevKit.Domain

BridgingIT DevKit: Empowering developers with modular components for modern application development, centered around Domain-Driven Design principles. Our goal is to empower developers by offering modular components that can be easily integrated into your projects. Whether you're working with repositories, commands, queries, or other components, the bITDevKit provides flexible solutions that can adapt to your specific needs.

BridgingIT.DevKit.Application.Storage

BridgingIT DevKit: Empowering developers with modular components for modern application development, centered around Domain-Driven Design principles. Our goal is to empower developers by offering modular components that can be easily integrated into your projects. Whether you're working with repositories, commands, queries, or other components, the bITDevKit provides flexible solutions that can adapt to your specific needs.

BridgingIT.DevKit.Application.Messaging

BridgingIT DevKit: Empowering developers with modular components for modern application development, centered around Domain-Driven Design principles. Our goal is to empower developers by offering modular components that can be easily integrated into your projects. Whether you're working with repositories, commands, queries, or other components, the bITDevKit provides flexible solutions that can adapt to your specific needs.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.0.8 86 8/7/2025
9.0.7 87 8/5/2025
9.0.6 90 8/5/2025
9.0.6-preview.0.9 109 7/15/2025
9.0.6-preview.0.6 118 7/14/2025
9.0.6-preview.0.5 113 7/14/2025
9.0.6-preview.0.3 74 7/12/2025
9.0.5 528 7/9/2025
9.0.5-preview.0.1 126 7/8/2025
9.0.4 412 7/8/2025
9.0.4-preview.0.4 199 7/8/2025
9.0.4-preview.0.3 165 7/8/2025
9.0.4-preview.0.2 149 7/8/2025
9.0.4-preview.0.1 118 7/7/2025
9.0.3 353 7/4/2025
9.0.3-preview.0.1 124 7/3/2025
9.0.2 362 7/2/2025
9.0.2-preview.55 130 7/1/2025
9.0.2-preview.54 152 6/26/2025
9.0.2-preview.53 118 6/26/2025
9.0.2-preview.51 116 6/26/2025
9.0.2-preview.50 117 6/26/2025
9.0.2-preview.49 133 6/25/2025
9.0.2-preview.47 129 6/25/2025
9.0.2-preview.46 114 6/25/2025
9.0.2-preview.45 130 6/25/2025
9.0.2-preview.44 160 6/25/2025
9.0.2-preview.43 151 6/24/2025
9.0.2-preview.42 146 6/24/2025
9.0.2-preview.41 130 6/23/2025
9.0.2-preview.39 47 6/21/2025
9.0.2-preview.38 78 6/20/2025
9.0.2-preview.37 92 6/20/2025
9.0.2-preview.36 116 6/17/2025
9.0.2-preview.35 128 6/14/2025
9.0.2-preview.34 258 6/12/2025
9.0.2-preview.33 261 6/11/2025
9.0.2-preview.32 274 6/11/2025
9.0.2-preview.31 260 6/11/2025
9.0.2-preview.28 263 6/11/2025
9.0.2-preview.25 257 6/11/2025
9.0.2-preview.24 263 6/11/2025
9.0.2-preview.23 261 6/11/2025
9.0.2-preview.22 259 6/11/2025
9.0.2-preview.21 284 6/10/2025
9.0.2-preview.20 265 6/10/2025
9.0.2-preview.19 258 6/10/2025
9.0.2-preview.18 260 6/9/2025
9.0.2-preview.16 214 6/9/2025
9.0.2-preview.14 47 6/7/2025
9.0.2-preview.13 46 6/6/2025
9.0.2-preview.12 46 6/6/2025
9.0.2-preview.5 65 6/6/2025
9.0.2-preview.3 129 6/4/2025
9.0.2-preview.2 124 6/4/2025
9.0.2-preview.1 115 6/4/2025
9.0.1-preview.0.335 238 6/2/2025
9.0.1-preview.0.333 127 6/2/2025
9.0.1-preview.0.332 119 6/1/2025
9.0.1-preview.0.331 119 6/1/2025
9.0.1-preview.0.329 43 5/30/2025
9.0.1-preview.0.326 55 5/30/2025
9.0.1-preview.0.324 44 5/30/2025
9.0.1-preview.0.323 49 5/30/2025
9.0.1-preview.0.321 71 5/30/2025
9.0.1-preview.0.319 53 5/30/2025
9.0.1-preview.0.318 65 5/30/2025
9.0.1-preview.0.317 71 5/30/2025
9.0.1-preview.0.316 75 5/30/2025
9.0.1-preview.0.315 94 5/30/2025
9.0.1-preview.0.314 79 5/30/2025
9.0.1-preview.0.312 82 5/30/2025
9.0.1-preview.0.309 118 5/28/2025
9.0.1-preview.0.302 120 5/21/2025
9.0.1-preview.0.301 159 5/21/2025
9.0.1-preview.0.300 121 5/21/2025
9.0.1-preview.0.299 127 5/21/2025
9.0.1-preview.0.297 176 5/21/2025
9.0.1-preview.0.296 129 6/4/2025
9.0.1-preview.0.295 117 5/21/2025
9.0.1-preview.0.294 124 5/21/2025
9.0.1-preview.0.293 118 5/21/2025
9.0.1-preview.0.290 126 5/19/2025
9.0.1-preview.0.287 135 5/19/2025
9.0.1-preview.0.286 221 5/15/2025
9.0.1-preview.0.285 211 5/13/2025
9.0.1-preview.0.279 202 5/13/2025
9.0.1-preview.0.278 214 5/13/2025
9.0.1-preview.0.277 210 5/13/2025
9.0.1-preview.0.276 265 5/13/2025
9.0.1-preview.0.274 127 5/19/2025
9.0.1-preview.0.272 113 5/11/2025
9.0.1-preview.0.271 111 5/11/2025
9.0.1-preview.0.270 92 5/9/2025
9.0.1-preview.0.267 118 5/7/2025
9.0.1-preview.0.266 118 5/7/2025
9.0.1-preview.0.265 125 5/6/2025
9.0.1-preview.0.264 171 5/6/2025
9.0.1-preview.0.263 123 5/6/2025
9.0.1-preview.0.262 125 5/6/2025
9.0.1-preview.0.261 128 5/6/2025
9.0.1-preview.0.258 479 5/6/2025
9.0.1-preview.0.255 91 5/9/2025
9.0.1-preview.0.254 127 5/8/2025
9.0.1-preview.0.253 120 5/8/2025
9.0.1-preview.0.252 125 5/8/2025
9.0.1-preview.0.251 120 5/8/2025
9.0.1-preview.0.250 130 5/7/2025
9.0.1-preview.0.247 137 5/7/2025
9.0.1-preview.0.246 121 5/7/2025
9.0.1-preview.0.244 157 4/17/2025
9.0.1-preview.0.243 233 4/15/2025
9.0.1-preview.0.242 162 4/15/2025
9.0.1-preview.0.241 159 4/15/2025
9.0.1-preview.0.239 159 4/15/2025
9.0.1-preview.0.238 263 4/15/2025
9.0.1-preview.0.237 218 4/13/2025
9.0.1-preview.0.236 155 4/10/2025
9.0.1-preview.0.235 136 4/10/2025
9.0.1-preview.0.234 148 4/10/2025
9.0.1-preview.0.233 171 4/9/2025
9.0.1-preview.0.232 134 4/9/2025
9.0.1-preview.0.231 131 4/9/2025
9.0.1-preview.0.230 188 4/7/2025
9.0.1-preview.0.229 148 4/7/2025
9.0.1-preview.0.228 150 4/7/2025
9.0.1-preview.0.227 141 4/4/2025
9.0.1-preview.0.226 137 4/3/2025
9.0.1-preview.0.220 172 4/2/2025
9.0.1-preview.0.219 125 4/1/2025
9.0.1-preview.0.218 125 4/1/2025
9.0.1-preview.0.217 188 4/1/2025
9.0.1-preview.0.215 150 4/1/2025
9.0.1-preview.0.214 130 4/1/2025
9.0.1-preview.0.213 150 4/1/2025
9.0.1-preview.0.212 157 4/1/2025
9.0.1-preview.0.211 130 4/1/2025
9.0.1-preview.0.210 134 4/1/2025
9.0.1-preview.0.209 147 3/31/2025
9.0.1-preview.0.208 150 3/31/2025
9.0.1-preview.0.206 133 3/31/2025
9.0.1-preview.0.205 141 3/31/2025
9.0.1-preview.0.204 138 3/31/2025
9.0.1-preview.0.202 130 3/31/2025
9.0.1-preview.0.199 67 3/29/2025
9.0.1-preview.0.198 105 3/28/2025
9.0.1-preview.0.196 112 3/28/2025
9.0.1-preview.0.193 105 3/27/2025
9.0.1-preview.0.189 130 3/26/2025
9.0.1-preview.0.188 460 3/25/2025
9.0.1-preview.0.187 469 3/24/2025
9.0.1-preview.0.186 456 3/24/2025
9.0.1-preview.0.185 457 3/24/2025
9.0.1-preview.0.184 460 3/24/2025
9.0.1-preview.0.183 456 3/24/2025
9.0.1-preview.0.182 67 3/21/2025
9.0.1-preview.0.180 118 3/21/2025
9.0.1-preview.0.179 127 3/21/2025
9.0.1-preview.0.178 124 3/21/2025
9.0.1-preview.0.175 126 3/20/2025
9.0.1-preview.0.174 127 3/19/2025
9.0.1-preview.0.173 142 3/19/2025
9.0.1-preview.0.172 289 3/19/2025
9.0.1-preview.0.171 124 3/19/2025
9.0.1-preview.0.170 124 3/18/2025
9.0.1-preview.0.165 123 3/18/2025
9.0.1-preview.0.162 133 3/17/2025
9.0.1-preview.0.160 126 3/17/2025
9.0.1-preview.0.152 106 3/14/2025
9.0.1-preview.0.148 147 3/13/2025
9.0.1-preview.0.147 127 3/13/2025
9.0.1-preview.0.146 130 3/12/2025
9.0.1-preview.0.145 136 3/12/2025
9.0.1-preview.0.141 133 3/12/2025
9.0.1-preview.0.140 174 3/10/2025
9.0.1-preview.0.139 131 3/10/2025
9.0.1-preview.0.138 146 3/10/2025
9.0.1-preview.0.137 124 3/8/2025
9.0.1-preview.0.135 141 3/8/2025
9.0.1-preview.0.134 180 3/7/2025
9.0.1-preview.0.133 174 3/6/2025
9.0.1-preview.0.132 169 3/6/2025
9.0.1-preview.0.130 169 3/6/2025
9.0.1-preview.0.129 223 3/6/2025
9.0.1-preview.0.128 176 3/6/2025
9.0.1-preview.0.127 181 3/6/2025
9.0.1-preview.0.125 189 3/4/2025
9.0.1-preview.0.119 84 2/28/2025
9.0.1-preview.0.118 66 2/28/2025
9.0.1-preview.0.116 72 2/28/2025
9.0.1-preview.0.112 62 2/27/2025
9.0.1-preview.0.111 70 2/27/2025
9.0.1-preview.0.110 119 2/26/2025
9.0.1-preview.0.107 85 2/26/2025
9.0.1-preview.0.106 76 2/26/2025
9.0.1-preview.0.105 72 2/26/2025
9.0.1-preview.0.104 78 2/26/2025
9.0.1-preview.0.103 98 2/26/2025
9.0.1-preview.0.102 94 2/26/2025
9.0.1-preview.0.100 63 2/26/2025
9.0.1-preview.0.99 105 2/25/2025
9.0.1-preview.0.97 74 2/25/2025
9.0.1-preview.0.96 68 2/25/2025
9.0.1-preview.0.94 70 2/24/2025
9.0.1-preview.0.93 99 2/24/2025
9.0.1-preview.0.92 69 2/21/2025
9.0.1-preview.0.91 61 2/21/2025
9.0.1-preview.0.88 69 2/19/2025
9.0.1-preview.0.87 252 2/18/2025
9.0.1-preview.0.85 271 2/18/2025
9.0.1-preview.0.84 210 2/17/2025
9.0.1-preview.0.82 170 2/17/2025
9.0.1-preview.0.79 178 2/14/2025
9.0.1-preview.0.78 198 2/14/2025
9.0.1-preview.0.77 173 2/14/2025
9.0.1-preview.0.76 211 2/14/2025
9.0.1-preview.0.73 202 2/14/2025
9.0.1-preview.0.71 148 2/14/2025
9.0.1-preview.0.70 193 2/13/2025
9.0.1-preview.0.69 185 2/13/2025
9.0.1-preview.0.67 192 2/13/2025
9.0.1-preview.0.62 177 2/11/2025
9.0.1-preview.0.58 84 2/7/2025
9.0.1-preview.0.56 76 2/7/2025
9.0.1-preview.0.55 62 2/6/2025
9.0.1-preview.0.54 66 2/6/2025
9.0.1-preview.0.53 60 2/6/2025
9.0.1-preview.0.52 64 2/6/2025
9.0.1-preview.0.50 80 2/6/2025
9.0.1-preview.0.49 123 2/6/2025
9.0.1-preview.0.47 64 2/6/2025
9.0.1-preview.0.45 69 2/6/2025
9.0.1-preview.0.43 70 2/5/2025
9.0.1-preview.0.42 68 2/5/2025
9.0.1-preview.0.41 71 2/5/2025
9.0.1-preview.0.35 73 2/4/2025
9.0.1-preview.0.20 68 1/30/2025
9.0.1-preview.0.19 61 1/30/2025
9.0.1-preview.0.18 65 1/30/2025
9.0.1-preview.0.14 64 1/30/2025
9.0.1-preview.0.13 73 1/30/2025
9.0.1-preview.0.11 60 1/29/2025
9.0.1-preview.0.10 58 1/29/2025
9.0.1-preview.0.9 64 1/27/2025
9.0.1-preview.0.2 121 1/27/2025
3.0.5-preview.0.2 134 4/1/2025
3.0.5-preview.0.1 85 2/11/2025
3.0.4 510 1/25/2025
3.0.4-preview.0.38 73 1/25/2025
3.0.4-preview.0.37 111 12/6/2024
3.0.4-preview.0.36 204 12/5/2024
3.0.4-preview.0.34 75 12/5/2024
3.0.4-preview.0.32 75 12/4/2024
3.0.4-preview.0.31 92 11/25/2024
3.0.4-preview.0.30 72 11/25/2024
3.0.4-preview.0.29 65 11/21/2024
3.0.4-preview.0.28 125 11/19/2024
3.0.4-preview.0.27 67 11/19/2024
3.0.4-preview.0.23 68 11/19/2024
3.0.4-preview.0.21 59 11/19/2024
3.0.4-preview.0.20 64 11/18/2024
3.0.4-preview.0.19 74 11/18/2024
3.0.4-preview.0.18 60 11/18/2024
3.0.4-preview.0.17 62 11/18/2024
3.0.4-preview.0.16 68 11/15/2024
3.0.4-preview.0.15 63 11/15/2024
3.0.4-preview.0.14 82 11/2/2024
3.0.4-preview.0.13 76 10/29/2024
3.0.4-preview.0.12 68 10/29/2024
3.0.4-preview.0.8 74 10/29/2024
3.0.4-preview.0.7 75 10/29/2024
3.0.4-preview.0.6 66 10/24/2024
3.0.4-preview.0.5 74 10/23/2024
3.0.4-preview.0.4 65 10/23/2024
3.0.4-preview.0.3 66 10/23/2024
3.0.4-preview.0.2 71 10/23/2024
3.0.4-preview.0.1 209 10/16/2024
3.0.3 394 10/11/2024
3.0.3-preview.0.56 81 10/10/2024
3.0.3-preview.0.55 75 10/10/2024
3.0.3-preview.0.54 79 10/10/2024
3.0.3-preview.0.50 75 10/10/2024
3.0.3-preview.0.49 91 10/9/2024
3.0.3-preview.0.44 96 10/8/2024
3.0.3-preview.0.43 72 10/8/2024
3.0.3-preview.0.42 73 10/7/2024
3.0.3-preview.0.41 75 10/7/2024
3.0.3-preview.0.40 108 10/1/2024
3.0.3-preview.0.39 76 10/1/2024
3.0.3-preview.0.38 72 10/1/2024
3.0.3-preview.0.36 77 9/30/2024
3.0.3-preview.0.35 93 9/26/2024
3.0.3-preview.0.34 86 9/26/2024
3.0.3-preview.0.33 73 9/26/2024
3.0.3-preview.0.32 103 9/24/2024
3.0.3-preview.0.31 774 9/10/2024
3.0.3-preview.0.30 71 9/9/2024
3.0.3-preview.0.29 67 9/9/2024
3.0.3-preview.0.28 58 9/8/2024
3.0.3-preview.0.27 80 9/5/2024
3.0.3-preview.0.26 78 9/3/2024
3.0.3-preview.0.25 69 9/3/2024
3.0.3-preview.0.24 82 9/3/2024
3.0.3-preview.0.23 92 8/21/2024
3.0.3-preview.0.22 62 7/29/2024
3.0.3-preview.0.21 80 7/25/2024
3.0.3-preview.0.18 81 7/12/2024
3.0.3-preview.0.17 76 7/12/2024
3.0.3-preview.0.16 64 7/12/2024
3.0.3-preview.0.15 68 7/5/2024
3.0.3-preview.0.14 135 6/24/2024
3.0.3-preview.0.13 97 6/23/2024
3.0.3-preview.0.12 88 6/21/2024
3.0.3-preview.0.11 88 6/20/2024
3.0.3-preview.0.9 369 5/27/2024
3.0.3-preview.0.8 79 5/27/2024
3.0.3-preview.0.7 108 5/17/2024
3.0.3-preview.0.6 83 5/14/2024
3.0.3-preview.0.5 324 5/8/2024
3.0.3-preview.0.3 106 5/6/2024
3.0.3-preview.0.1 94 4/25/2024
3.0.2 1,351 4/25/2024
3.0.2-preview.0.4 102 4/25/2024
3.0.2-preview.0.3 157 4/25/2024
3.0.2-preview.0.2 105 4/25/2024
3.0.2-preview.0.1 81 4/25/2024
3.0.1 444 4/25/2024
3.0.1-preview.0.10 91 4/24/2024
3.0.1-preview.0.9 194 4/19/2024
3.0.1-preview.0.8 75 4/24/2024
3.0.1-preview.0.7 143 4/24/2024

## Release 3.0.1 [25.04.24]

- [N] Initial release

-----

- [N] New
- [M] Modified
- [B] Breaking