Skip to content

Instantly share code, notes, and snippets.

@lisardggY
lisardggY / AsSingletonCollection.cs
Created November 26, 2015 09:01
Find yourself wrapping single objects in arrays or lists to pass to multi-value APIs? Tired of writing new [] {myObject}; all the time? These extension methods will make your collection-wrapping fluent and painless.
public static T[] AsSingletonArray<T>(this T single)
{
return new[] {single};
}
public static List<T> AsSingletonList<T>(this T single)
{
return new List<T> {single};
}
@lisardggY
lisardggY / ToHexBytes.cs
Created November 25, 2015 06:40
Encodes a string into a base16/hexadecimal string format. Useful for maintaining case sensitivity where case sensitivity cannot be maintained, like a filename or URL.
using System.Text;
using System.Runtime.Remoting.Metadata.W3cXsd2001;
public static string ToHexBytes(this string plainText, Encoding encoding = null)
{
encoding = encoding ?? Encoding.UTF8;
var bytes = encoding.GetBytes(plainText);
return new SoapHexBinary(bytes).ToString();
}
public static string FromHexBytes(this string hexText, Encoding encoding = null)
// Create new object to cache iframe offsets
$.ui.ddmanager.frameOffsets = {};
// Override the native `prepareOffsets` method. This is almost
// identical to the un-edited method, except for the last part!
$.ui.ddmanager.prepareOffsets = function (t, event) {
var i, j,
m = $.ui.ddmanager.droppables[t.options.scope] || [],
type = event ? event.type : null, // workaround for #2317
list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack(),
@lisardggY
lisardggY / Fluent Cast
Last active May 16, 2019 09:15
For casting an object as part of a Fluent expression without having to put annoying parentheses around casting expressions.
public static T As<T>(this object objectToCast)
{
return objectToCast is T typedObject ? typedObject : default;
}