Skip to content

Instantly share code, notes, and snippets.

@ankitvijay
ankitvijay / SolutionCleaner.cs
Last active August 22, 2020 04:00
Clean Visual Studio Soluion
namespace SolutionCleaner
{
    using System;
    using System.Collections.Generic;
    using System.IO;
 
    public class Program
    {
        #region [ Private Fields ]
        private static readonly List<string> FolderList = new List<string> { "bin", "obj", "TestResults", "packages" };
@ankitvijay
ankitvijay / PerWebRequestLifestyleOverrider.cs
Last active September 20, 2017 21:03
Castle Windsor Lifestle Override
public class PerWebRequestLifestyleOverrider : IContributeComponentModelConstruction
{
public void ProcessModel(IKernel kernel, ComponentModel model)
{
if (model.LifestyleType == LifestyleType.PerWebRequest)
{
model.LifestyleType = LifestyleType.Singleton;
}
}
}
@ankitvijay
ankitvijay / WindsorContainerRegistration.cs
Created September 20, 2017 21:04
Windsor Container Lifestyle Override
var conatiner = new WindsorContainer();
container.Kernel.ComponentModelBuilder.AddContributor(new PerWebRequestLifestyleOverrider());
// Rest of your code
@ankitvijay
ankitvijay / EditCsProj.cs
Created September 28, 2017 20:21
Edit Csproj Progamatically
using System.Collections.Generic;
using System.Linq;
using Microsoft.Build.Evaluation;
class Program
{
static void Main(string[] args)
{
var projectList = new List<string>()
{
@ankitvijay
ankitvijay / DebuggerDisplayExample
Last active January 7, 2018 21:23
Debugger Display Attribute Example
[DebuggerDisplay("Name of employee is {FirstName} {Surname} and his department is {Department}")]
public class Employee
{
public string FirstName { get; set; }
public string Surname { get; set; }
public string Department { get; set; }
}
@ankitvijay
ankitvijay / DebuggerBrowsableExample
Created January 7, 2018 07:03
DebuggerBrowsable Example
public class Employee
{
[DebuggerBrowsable(DebuggerBrowsableState.Collapsed)]
public string FirstName { get; set; }
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
public string Surname { get; set; }
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
@ankitvijay
ankitvijay / Logger.cs
Last active February 1, 2018 09:45
CallerInfoExample
using System.Diagnostics;
using System.Runtime.CompilerServices;
namespace CallerInfoExample
{
public static class Logger
{
public static void Log(string message,
[CallerFilePath] string sourceFilePath = "",
[CallerLineNumber] int sourceLineNumber = 0,
@ankitvijay
ankitvijay / ObsoleteAttributeExample
Last active January 10, 2018 14:18
Obsolete Attribute Example
public static class Logger
{
public static void Log(string message,
[CallerFilePath] string sourceFilePath = "",
[CallerLineNumber] int sourceLineNumber = 0,
[CallerMemberName] string callerMemberName = "")
{
Log($"[Message]: {message}; [Source File Path]: {sourceFilePath}; " +
$"[Source Line Number]: {sourceLineNumber}; [Caller Member Name]: {callerMemberName}; ");
}
@ankitvijay
ankitvijay / GetUnicodeCategoryExample
Last active January 10, 2018 15:22
Get Unicode Category Example
using System;
namespace GetUnicodeCategoryExample
{
class Program
{
static void Main(string[] args)
{
var sampleString = @"1aB%$^()-";
for (int i = 0; i < sampleString.Length; i++)
@ankitvijay
ankitvijay / Logger.cs
Created January 10, 2018 14:23
Conditional Attribute Example
using System.Diagnostics;
using System.Runtime.CompilerServices;
namespace ConditionalAttributeExample
{
public static class Logger
{
public static void Log(string message,
[CallerFilePath] string sourceFilePath = "",
[CallerLineNumber] int sourceLineNumber = 0,