CSharp 12
Interceptors
Kan erstatte, eller intercepte, deler av koden. Kan være nyttig som et alternativ til mocking. InterceptsLocation attributten er ment å genereres av kode generatorer, ikke skrevet for hånd.
public static class GeneratedCode{
[InterceptsLocation("""/User/Foo/code/Movies/MovieValidator.cs""", 25, 31)]//File location, line, column
public static Task<Movie?> MockGetBySlugAsync(this MoveiRepository repository, string slug){
return Task.FromResult<Movie>(null);
}
}
public class MovieValidator {
private async Task<bool> ValidateSlug(Movie movie, string slug)
{
//line 25, method call at column 31
var existingMovie = await _movieRepo.GetBySlugAsync(slug);
if(existingMovie is not null){
return true;
}
return false;
}
}