Gå til indhold

Extension methods

Alle utility extensions ligger i namespace Ecreo.Essentials.Extensions.

ReplaceInvalidFileNameChars()
Beskrivelse: Erstatter tegn, der ikke er gyldige i filnavne.
Eksempel: "file\0name/".ReplaceInvalidFileNameChars('_')
Output: "file_name_"

MergeTags()
Beskrivelse: Erstatter merge-tags med værdier fra en dictionary.
Eksempel: "*|NAME|".MergeTags(dictionary: new() { ["NAME"] = "Ada" })
Output: "Ada"

MergeTags() med custom pattern
Beskrivelse: Erstatter tags ud fra et selvvalgt regex-mønster.
Eksempel: "{{NAME}}".MergeTags(@"\{\{([A-Za-z0-9]+)\}\}", new() { ["NAME"] = "Ada" })
Output: "Ada"

ReplaceIfMatches()
Beskrivelse: Erstatter regex-matches i strengen.
Eksempel: "hello".ReplaceIfMatches("h.*o", "world")
Output: "world"

ReplaceIfInvariant()
Beskrivelse: Erstatter hele strengen ved case-insensitive invariant sammenligning.
Eksempel: "Hello".ReplaceIfInvariant("hello", "world")
Output: "world"

ReplaceIf()
Beskrivelse: Erstatter hele strengen, når den matcher værdien præcist.
Eksempel: "Hello".ReplaceIf("hello", "world")
Output: "Hello"

ReplaceTokens()
Beskrivelse: Erstatter konkrete tokens med deres dictionary-værdier.
Eksempel: "Hello {name}".ReplaceTokens(new() { ["{name}"] = "Ada" })
Output: "Hello Ada"

HasValue()
Beskrivelse: Returnerer true, når en string ikke er null, tom eller whitespace.
Eksempel: " ".HasValue()
Output: false

HasValue()
Beskrivelse: Returnerer true, når en string indeholder synligt indhold.
Eksempel: "x".HasValue()
Output: true

HasValue() på HtmlString
Beskrivelse: Tjekker om en HtmlString indeholder tekst efter rendering.
Eksempel: new HtmlString("x").HasValue()
Output: true

HasValue() på IHtmlContent
Beskrivelse: Tjekker om HTML-indhold indeholder tekst efter rendering.
Eksempel: (new HtmlString("x") as IHtmlContent).HasValue()
Output: true

IsNullOrWhiteSpace() på HtmlString
Beskrivelse: Returnerer true, når en ikke-null HtmlString er tom eller whitespace.
Eksempel: new HtmlString("").IsNullOrWhiteSpace()
Output: true

IsNullOrWhiteSpace() på IHtmlContent
Beskrivelse: Returnerer true, når ikke-null HTML-indhold er tomt eller whitespace.
Eksempel: (new HtmlString("") as IHtmlContent).IsNullOrWhiteSpace()
Output: true

ToHtmlString()
Beskrivelse: Pakker en string ind som HtmlString.
Eksempel: "hello".ToHtmlString().ToString()
Output: "hello"

TryParseToDecimal()
Beskrivelse: Parser en string til decimal med valgfri kultur og fallback.
Eksempel: "123,45".TryParseToDecimal(CultureInfo.GetCultureInfo("da-DK"))
Output: 123.45m

TryParseToDecimal() med fallback
Beskrivelse: Returnerer fallback-værdien, når decimal-parsing fejler.
Eksempel: "abc".TryParseToDecimal(fallback: 9m)
Output: 9m

TryParseToBoolean() med custom true-værdi
Beskrivelse: Parser en string til bool med en selvvalgt sand værdi.
Eksempel: "yes".TryParseToBoolean("yes")
Output: true

TryParseToBoolean()
Beskrivelse: Parser en string til bool med "True" som standard sand værdi.
Eksempel: "false".TryParseToBoolean()
Output: false

TryParseToInt()
Beskrivelse: Parser en string til int og returnerer 0, hvis parsing fejler.
Eksempel: "123".TryParseToInt()
Output: 123

TryParseToInt() med fallback
Beskrivelse: Parser en string til int med en selvvalgt fallback-værdi.
Eksempel: "abc".TryParseToInt(99)
Output: 99

TruncateAtWord()
Beskrivelse: Afkorter tekst ved et ordskel og tilføjer ellipsis som HTML.
Eksempel: "Hello world this is a test".TruncateAtWord(15).ToString()
Output: "Hello world…"

SubstringBefore()
Beskrivelse: Returnerer teksten før den første forekomst af en separator.
Eksempel: "hello-world".SubstringBefore("-")
Output: "hello"

SubstringBefore() uden match
Beskrivelse: Returnerer en tom string, hvis separatoren ikke findes.
Eksempel: "hello".SubstringBefore("-")
Output: ""

SubstringAfter()
Beskrivelse: Returnerer teksten efter den første forekomst af en separator.
Eksempel: "hello-world".SubstringAfter("-")
Output: "world"

SubstringAfter() uden match
Beskrivelse: Returnerer en tom string, hvis separatoren ikke findes.
Eksempel: "hello".SubstringAfter("-")
Output: ""

ReplaceLinebreaksWithBrs()
Beskrivelse: Konverterer linjeskift til <br /> og returnerer HTML.
Eksempel: "line1\nline2".ReplaceLinebreaksWithBrs().ToString()
Output: "line1<br />line2"

AddHtmlParagraphs()
Beskrivelse: Pakker tekstafsnit ind i <p>-tags.
Eksempel: "p1\n\np2".AddHtmlParagraphs().ToString()
Output: "<p>p1</p>\n\n<p>p2</p>"

AddHtmlParagraphs() med attributes
Beskrivelse: Tilføjer HTML-attributter til de genererede <p>-tags.
Eksempel: "p1".AddHtmlParagraphs(htmlAttributes: new() { ["class"] = "lead" }).ToString()
Output: "<p class=\"lead\">p1</p>"

ToCamelCase()
Beskrivelse: Konverterer tekst til camelCase.
Eksempel: "hello-world".ToCamelCase()
Output: "helloWorld"

ToPascalCase()
Beskrivelse: Konverterer tekst til PascalCase.
Eksempel: "hello_world".ToPascalCase()
Output: "HelloWorld"

ToKebabCase()
Beskrivelse: Konverterer tekst til kebab-case.
Eksempel: "hello world".ToKebabCase()
Output: "hello-world"

RemoveSpecialCharacters()
Beskrivelse: Fjerner specialtegn, men bevarer bogstaver, tal og mellemrum.
Eksempel: "a!b@c#1 2".RemoveSpecialCharacters()
Output: "abc1 2"

ToRomanceStandardTime()
Beskrivelse: Konverterer en dato til tidszonen Romance Standard Time.
Eksempel: new DateTime(2024, 6, 15, 12, 0, 0, DateTimeKind.Utc).ToRomanceStandardTime()
Output: 2024-06-15 14:00:00

ToDateTimeOffset()
Beskrivelse: Opretter en DateTimeOffset i den angivne tidszone.
Eksempel: new DateTime(2024, 6, 15, 12, 0, 0).ToDateTimeOffset()
Output: 2024-06-15 12:00:00 +02:00

ToDateTimeOffset("UTC")
Beskrivelse: Opretter en DateTimeOffset med UTC-offset.
Eksempel: new DateTime(2024, 6, 15, 12, 0, 0).ToDateTimeOffset("UTC")
Output: 2024-06-15 12:00:00 +00:00

ToTimeZone()
Beskrivelse: Konverterer en dato til en tidszone, som standard Romance Standard Time.
Eksempel: new DateTime(2024, 1, 15, 12, 0, 0, DateTimeKind.Utc).ToTimeZone()
Output: 2024-01-15 13:00:00

ToTimeZone() nullable
Beskrivelse: Returnerer null, når den nullable dato ikke har en værdi.
Eksempel: ((DateTime?)null).ToTimeZone()
Output: null

IsInRange()
Beskrivelse: Tjekker om en dato ligger mellem start- og slutdato inklusiv.
Eksempel: new DateTime(2024, 6, 15).IsInRange(new(2024, 1, 1), new(2024, 12, 31))
Output: true

IfNullOrMin() nullable
Beskrivelse: Returnerer fallback-værdien, når datoen er null eller DateTime.MinValue.
Eksempel: ((DateTime?)null).IfNullOrMin(new DateTime(2024, 1, 1))
Output: 2024-01-01 00:00:00

IfNullOrMin()
Beskrivelse: Returnerer fallback-værdien, når datoen er DateTime.MinValue.
Eksempel: DateTime.MinValue.IfNullOrMin(new DateTime(2024, 1, 1))
Output: 2024-01-01 00:00:00

IsNullOrMin()
Beskrivelse: Returnerer true, når en nullable dato er null eller DateTime.MinValue.
Eksempel: ((DateTime?)DateTime.MinValue).IsNullOrMin()
Output: true

IsNotNullOrMin()
Beskrivelse: Returnerer true, når en nullable dato har en reel værdi.
Eksempel: ((DateTime?)new DateTime(2024, 6, 15)).IsNotNullOrMin()
Output: true

SetQueryString()
Beskrivelse: Udskifter hele query string på en URI.
Eksempel: new Uri("https://example.com/path?a=1").SetQueryString(new QueryString("?b=2"))
Output: https://example.com/path?b=2

SetParam()
Beskrivelse: Sætter eller erstatter en enkelt query parameter.
Eksempel: new Uri("https://example.com/path?a=1").SetParam("a", "99")
Output: https://example.com/path?a=99

SetParam() ny param
Beskrivelse: Tilføjer query parameteren, hvis den ikke allerede findes.
Eksempel: new Uri("https://example.com/path").SetParam("page", "2")
Output: https://example.com/path?page=2

RemoveParams()
Beskrivelse: Fjerner en eller flere query parametre fra en URI.
Eksempel: new Uri("https://example.com/path?a=1&b=2").RemoveParams("a")
Output: https://example.com/path?b=2

RemoveParams() flere
Beskrivelse: Fjerner alle angivne query parametre og efterlader stien uden query.
Eksempel: new Uri("https://example.com/path?a=1&b=2").RemoveParams("a", "b")
Output: https://example.com/path

RelativeUri()
Beskrivelse: Konverterer en absolut URI til en relativ URI med path og query.
Eksempel: new Uri("https://example.com/path").RelativeUri()
Output: Relativ Uri uden absolut host

HttpRequest.ToUri()
Beskrivelse: Bygger en absolut Uri ud fra en HttpRequest.
Eksempel: HTTPS request til example.com:8443/path?foo=bar
Output: https://example.com:8443/path?foo=bar

HttpContext.GetCounter()
Beskrivelse: Læser en integer-counter fra HttpContext.Items.
Eksempel: context.GetCounter("box") før key findes
Output: 0

HttpContext.IncrementCounter()
Beskrivelse: Øger en counter i HttpContext.Items med 1.
Eksempel: context.IncrementCounter("box")
Output: 1

HttpContext.IncrementCounter() med amount
Beskrivelse: Øger en counter i HttpContext.Items med et selvvalgt antal.
Eksempel: context.IncrementCounter("box", 3) efter 1
Output: 4

IsOdd()
Beskrivelse: Returnerer true, når tallet er ulige.
Eksempel: 3.IsOdd()
Output: true

IsOdd()
Beskrivelse: Returnerer false, når tallet er lige.
Eksempel: 4.IsOdd()
Output: false

IsEven()
Beskrivelse: Returnerer true, når tallet er lige.
Eksempel: 4.IsEven()
Output: true

IsEven()
Beskrivelse: Returnerer false, når tallet er ulige.
Eksempel: 3.IsEven()
Output: false

IsNth()
Beskrivelse: Tjekker om tallet rammer hvert n-te interval.
Eksempel: 6.IsNth(3)
Output: true

IsNth() med index
Beskrivelse: Tjekker n-te interval forskudt med et index.
Eksempel: 7.IsNth(3, index: 1)
Output: true

Guid.ToHtmlId()
Beskrivelse: Laver et HTML-venligt id ud fra en Guid og et valgfrit prefix.
Eksempel: guid.ToHtmlId("section")
Output: "section-{hex}"

Guid.ToHtmlId() med prefix der slutter på -
Beskrivelse: Genbruger prefix uden at tilføje et ekstra bindestreg.
Eksempel: guid.ToHtmlId("section-")
Output: "section-{hex}"

Guid.ToHtmlId() bruger Guid’ens hash som sidste del. Brug outputtet som et stabilt HTML-id i samme kørsel, men undgå at gemme hashdelen som data.

EmptyIfNull() på List<T>
Beskrivelse: Returnerer en tom liste, når listen er null.
Eksempel: ((List<int>?)null).EmptyIfNull()
Output: Tom List<int>

EmptyIfNull() på array
Beskrivelse: Returnerer et tomt array, når arrayet er null.
Eksempel: ((int[]?)null).EmptyIfNull()
Output: Tomt int[]

EmptyIfNull() på IEnumerable<T>
Beskrivelse: Returnerer en tom enumerable, når sekvensen er null.
Eksempel: ((IEnumerable<int>?)null).EmptyIfNull()
Output: Tom enumerable

GetValue<T>()
Beskrivelse: Henter en typed værdi fra ViewData.
Eksempel: ViewData["title"] = "Forside"; ViewData.GetValue<string>("title")
Output: "Forside"

GetValue<T>() med fallback
Beskrivelse: Returnerer en fallback-værdi, når nøglen mangler.
Eksempel: ViewData.GetValue("title", "Fallback") når key mangler
Output: "Fallback"

GetValue<T>() uden fallback
Beskrivelse: Returnerer null, når nøglen mangler og ingen fallback er angivet.
Eksempel: ViewData.GetValue<string>("title") når key mangler
Output: null