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; |
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; | |
} |
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); | |
} |
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)" { |
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 |
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 |
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; |
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); |
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; |
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