View gist:9103821
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sealed class ArrayPart : Part | |
{ | |
readonly int myArrayLength; | |
readonly object[] myArray; | |
int myItemIndex; | |
public ArrayPart(int arrayLength) | |
{ | |
myArray = new object[arrayLength]; | |
myArrayLength = arrayLength; |
View gist:9996665
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Person : EntityBase { | |
// ~familiar syntax, no problems with xml doc, can omit body, can omit public? | |
public constructor(int id, string name, int age) : base(id); | |
readonly string _mrName = "Mr. " + name; | |
public string Name { get; } = name; | |
public int Age { get; } = age; | |
} |
View gist:11d6360ea827164aaa1e
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// CA "To declaration statement" | |
{ | |
var t = F(out var x); | |
// => | |
int x; | |
var t = F(out x); | |
} |
View gist:de10836191593eee1744
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
convert "Null-conditional invocation" { | |
if (x != null) { // also 'cond && x != null' | |
x.M(); | |
} | |
} into { | |
x?.M(); | |
} | |
convert "Null-conditional invocation (inverted)" { |
View gist:4d4c7f0c5527dc055d07
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Data.Char(ord, chr) | |
data Tape = Tape [Int] Int [Int] | |
deriving Show | |
getTape :: [Int] -> Tape | |
getTape (x:xs) = Tape [] x xs | |
getTape [] = Tape [] 0 [] | |
modify :: (Int -> Int) -> Tape -> Tape |
View gist:b67376a4b7fda8a3be37
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Data.Char(ord, chr) | |
data Tape = Tape [Int] Int [Int] | |
deriving Show | |
getTape :: [Int] -> Tape | |
getTape (x:xs) = Tape [] x xs | |
getTape [] = Tape [] 0 [] | |
modify :: (Int -> Int) -> Tape -> Tape |
View gist:be428287b7e08c306559
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[DebuggerDisplay("Person(Name={" + nameof(Name) + ",nq}, Age={" + nameof(Age) + ",nq})")] | |
// vs. | |
[DebuggerDisplay($"Person(Name={{{ nameof(Name) },nq}}, Age={{{ nameof(Age) },nq})")] | |
class Person { | |
public string Name { get; } | |
public int Age { get; } | |
public Person(string name, int age) { | |
this.Name = name; | |
this.Age = age; |
View ReflectionTypeVisitor.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using JetBrains.Annotations; | |
namespace Smth { | |
[PublicAPI] | |
public abstract class ReflectionTypeVisitor<T> { | |
public virtual T VisitSimpleType(Type type) => default(T); | |
public virtual T VisitConstructedType([NotNull] Type typeDefinition, [NotNull] Type[] typeArguments) => default(T); | |
public virtual T VisitTypeParameterType([NotNull] Type typeParameter) => default(T); | |
public virtual T VisitArrayType([NotNull] Type arrayType) => default(T); |
View AggregatedPropertyDescriptor.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.ComponentModel; | |
using JetBrains.Annotations; | |
namespace JetBrains.VsIntegration.ProjectModel.PropertiesExtender | |
{ | |
public sealed class AggregatedPropertyDescriptor : PropertyDescriptor | |
{ | |
[NotNull] private readonly IList<PropertyDescriptor> myPropertyDescriptors; |
View ProvidesContext.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Foo { | |
[ProvidesContext] IPredefinedType _predefinedTypes = ...; | |
void DoSomething(ITreeNode node) { | |
if (Check(node)) { | |
var expressionType = node.GetExpressionType(); | |
if (expressionType.Equals(node.GetPredefinedType().Bool) { | |
// ^^^^^^^^^^^^^^^^^^^^^^^^ | |
// Use aleady provided 'IPredefinedType' value from '_predefinedTypes' field | |
} |
OlderNewer