Tuesday, December 31, 2019

Layout management

  1. DockPanel Suite
  2. DockDotNET
  3. DockableForm
  4. TableLayoutPanel Class
  5. Step 4: Lay out your form with a TableLayoutPanel control
  6. Best Practices for the TableLayoutPanel Control
  7. AutoSize Behavior in the TableLayoutPanel Control
  8. .NET Layout Manager
  9. EvaLayout, Lay It Be!
  10. Drop-dead easy layout management
  11. Designing the Layout of Windows Forms using a TableLayoutPanel, with auto-expand panels
  12. Visual Studio error D8016: '/ZI' and '/Gy' command-line options are incompatible
  13. VS2017 New Install - fatal error C1083: Cannot open include file: 'new.h': No such file or directory
  14. the solution is copied from above link:

    new.h used to live in an include folder of the vc compiler and now is located in the SDK folder (for example C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt). Make sure to add this in your include section and it should compile fine.

  15. Visual Studio setup error: LNK1104 cannot open file 'ucrtd.lib'
  16. the solution comes from the above link:

    The file ucrtd.lib is a library from the Windows SDK and I searched it on my computer and it located in C:\Program Files (x86)\Windows Kits\10\Lib, and as far as I known, the Visual C ++ didn’t include the Windows SDK, I recommend you download the Windows SDK from the following links refer to your OS version, and use it to install or repair.

  17. BoxPlanner - Simple Layout Algorithm
  18. Fun with Physics: Implementing a Physics based layout manager
  19. Sizers: An Extendable Layout Management Library
  20. Creating a wizard layout using C#
  21. Creating a wizard layout using C#
  22. Layout Persistence for your Forms including all of their subcontrols
  23. Step 4: Lay out your form with a TableLayoutPanel control
  24. ritchiecarroll/Report.NET
  25. Layout Management in Windows Forms Diagram
  26. TableLayoutManager
  27. C# (CSharp) TlmColumnMM Examples
  28. C# (CSharp) TableLayoutManager Examples
  29. .vcxproj and .props file structure
  30. Old csproj to new csproj: Visual Studio 2017 upgrade guide
  31. I recently had to spend a lot of time with csproj files.

MFC quick tutorial and some critical concepts

googled keyword "MFC quick tutorial" and gleaned the useful links for my future references.

    good video tutorials

  1. VC++/C++ MFC tutorial 1: Creating a Dialog box for user input
  2. VC++ MFC Basics - 1 - Installing Visual Studio
  3. VC++ MFC Basics - 2 - Project File Structure and VS Environment
  4. VC++ MFC Basics - 3 - Drawing
  5. VC++ MFC Basics - 4 - Using Menus , Menu command
  6. VC++ MFC Basics - 5 - Dialog box with SDI
  7. VC++ MFC Basics - 6 - New, Open, Save, Save As in SDI
  8. VC++ MFC Basics - 7 - Button (CButton) in a view
  9. VC++/C++ MFC tutorial for beginners - A Draw app View/Document (no voice)
  10. C++ programming tutorial: Functions part 1
  11. C++ programming tutorial: Functions part 2
  12. C++ programming tutorial: Functions part 3
  13. C++ programming tutorial: Functions part 4
  14. C++ programming tutorial: Functions part 5/5
  15. C++ Programming tutorial: Reference variable
  16. What is the Difference Between a Pointer and a Reference C++
  17. C++ Programming tutorial: characters (char -type)
  18. C++ Programming tutorial: C-type strings (array or characters)
  19. C++ Tutorial for Beginners - Classes and object 1
  20. C++ Tutorial for Beginners - Classes and object 2
  21. other concepts

  22. How to write classes and create objects in C++ (Episode 4)
  23. C++ Tutorial 29 - Reading and Writing to Files - fstream
  24. C++ Programming Tutorial - 14 - string Class
  25. 16. Strings:: MIT license
  26. C++ Tutorial 27: Multiple constructors.
  27. C++ Tutorial 20-1 - Classes and Object-Oriented Programming (Part 1): another teacher
  28. C++ Tutorial 20-2 - Classes and Object-Oriented Programming (Part 2):another teacher
  29. C++ Tutorial 11 : Classes and Objects in C++
  30. C++ Tutorial: Classes and Objects
  31. C++ Programming Tutorial 21: Passing class object as function parameter
  32. C++ 03 - The C++ Object Model
  33. Classes and Objects (Lecture 19)

  34. C++ Tutorial: Pass by value, reference and pointer
  35. What is the Difference Between Pass By Value, Pass By Reference, and Pass By Pointer, C++
  36. What is the Difference Between Pass By Pointer and Pass By Pointer Reference (int * and int * &) C++
  37. good notes

    Paul gave very clear explanation on these two topics. very good.


  38. 6.11 — Reference variables
  39. References are the third basic type of variable that C++ supports. A reference is a type of C++ variable that acts as an alias to another object or value. other two types of variable are:

    • Normal variables, which hold values directly.
    • Pointers, which hold the address of another value (or null) and can be dereferenced to retrieve the value at the address they point to.

    Note:: const variables are considered non-modifiable l-values.

    l-values and r-values:

    In C++, variables are a type of l-value (pronounced ell-value). An l-value is a value that has an address (in memory). Since all variables have addresses, all variables are l-values. The name l-value came about because l-values are the only values that can be on the left side of an assignment statement. When we do an assignment, the left hand side of the assignment operator must be an l-value. Consequently, a statement like 5 = 6; will cause a compile error, because 5 is not an l-value. The value of 5 has no memory, and thus nothing can be assigned to it. 5 means 5, and its value can not be reassigned. When an l-value has a value assigned to it, the current value at that memory address is overwritten.

    The opposite of l-values are r-values (pronounced arr-values). An r-value refers to any value that can be assigned to an l-value. r-values are always evaluated to produce a single value. Examples of r-values are literals (such as 5, which evaluates to 5), variables (such as x, which evaluates to whatever value was last assigned to it), or expressions (such as 2 + x, which evaluates to the value of x plus 2).

    References must be initialized when created.Unlike pointers, which can hold a null value, there is no such thing as a null reference.

    Unlike pointers, which can hold a null value, there is no such thing as a null reference.

    References to non-const values can only be initialized with non-const l-values. They can not be initialized with const l-values or r-values.

    References can not be reassigned. Once initialized, a reference can not be changed to reference another variable. Consider the following snippet:

    References and pointers have an interesting relationship -- a reference acts like a pointer that is implicitly dereferenced when accessed (references are usually implemented internally by the compiler using pointers). Thus given the following:

    • int value{ 5 };
    • int *const ptr{ &value };
    • int &ref{ value };

    *ptr and ref evaluate identically. As a result, the following two statements produce the same effect:

    • *ptr = 5;
    • ref = 5;

    Because references must be initialized to valid objects (cannot be null) and can not be changed once set, references are generally much safer to use than pointers (since there’s no risk of dereferencing a null pointer). However, they are also a bit more limited in functionality accordingly.

    If a given task can be solved with either a reference or a pointer, the reference should generally be preferred. Pointers should only be used in situations where references are not sufficient (such as dynamically allocating memory).

  40. 6.11a — References and const
  41. A reference to a const value is often called a const reference for short, though this does make for some inconsistent nomenclature with pointers.

    Unlike references to non-const values, which can only be initialized with non-const l-values, references to const values can be initialized with non-const l-value, const l-values, and r-values.

    Much like a pointer to a const value, a reference to a const value can reference a non-const variable. When accessed through a reference to a const value, the value is considered const even if the original variable is not:

    References used as function parameters can also be const. This allows us to access the argument without making a copy of it, while guaranteeing that the function will not change the value being referenced.

    References to const values are particularly useful as function parameters because of their versatility. A const reference parameter allows you to pass in a non-const l-value argument, a const l-value argument, a literal, or the result of an expression:

    #include void printIt(const int &x) { std::cout << x; } int main() { int a = 1; printIt(a); // non-const l-value const int b = 2; printIt(b); // const l-value printIt(3); // literal r-value printIt(2+b); // expression r-value return 0; }

    To avoid making unnecessary, potentially expensive copies, variables that are not pointers or fundamental data types (int, double, etc…) should be generally passed by (const) reference. Fundamental data types should be passed by value, unless the function needs to change them.

    Rule: Pass non-pointer, non-fundamental data type variables (such as structs) by (const) reference.

  42. 6.10 — Pointers and const
  43. To summarize, you only need to remember 4 rules, and they are pretty logical:

    • A non-const pointer can be redirected to point to other addresses.
    • A const pointer always points to the same address, and this address can not be changed.
    • A pointer to a non-const value can change the value it is pointing to. These can not point to a const value.
    • A pointer to a const value treats the value as const (even if it is not), and thus can not change the value it is pointing to.
    • Keeping the declaration syntax straight can be challenging. Just remember that the type of value the pointer points to is always on the far left:

  44. 6.12 — Member selection with pointers and references
  45. Note that the pointer dereference must be enclosed in parentheses, because the member selection operator has a higher precedence than the dereference operator.

    • struct Person
    • {
    • int age;
    • double weight;
    • };
    • Person person;
    • // Member selection using pointer to struct
    • Person *ptr = &person;
    • (*ptr).age= 5;

    Because the syntax for access to structs and class members through a pointer is awkward, C++ offers a second member selection operator (->) for doing member selection from pointers. The following two lines are equivalent:

    • (*ptr).age = 5;
    • ptr->age = 5;

    This is not only easier to type, but is also much less prone to error because the dereference is implicitly done for you, so there are no precedence issues to worry about. Consequently, when doing member access through a pointer, always use the -> operator instead of the . operator.

    Rule: When using a pointer to access the value of a member, use operator-> instead of operator. (the . operator)

  46. References in C++
  47. Pointers and References in C++
  48. Pointers vs References in C++
  49. C++ References


  50. C++ & MFC Part 1: README FIRST: good and complete materials
  51. Event Programming Event from Washington University
  52. Chapter Tutorials for Essentials of Interactive Computer Graphics from Washington University
  53. Creating Dialog Based Applications with MFC 7
  54. A Beginners Guide to Dialog Based Applications - Part One
  55. Beginners Guide to Dialog Based Applications - Part Two
  56. Windows Message Handling - Part 1
  57. Windows Message Handling - Part 2
  58. Windows Message Handling - Part 3
  59. Windows Message Handling - Part 4
  60. Exception Handling Best Practices in .NET
  61. Creating Your First Windows Application
  62. Using the List Control

Tuesday, December 24, 2019

NUNIT framework

NUNIT framework

  1. Introduction To NUnit Testing Framework
  2. NUnit is a part of the .NET Foundation
  3. NUnit 3.12
  4. NUNIT 3.12

    This release of NUnit finally drops support for .NET 2.0. If your application still targets .NET 2.0, your tests will need to target at least .NET 3.5. Microsoft ended support for .NET 2.0 on July 12, 2011. Microsoft recommends that everyone migrate to at least .NET Framework 3.5 SP1 for security and performance fixes.

    This release dramatically improves NUnit support for async tests including returning ValueTask and custom tasks from tests, improved handling of SynchronizationContexts and better exception handling.

    The .NET Standard 2.0 version of NUnit continues to gain more functionality that is found in the .NET 4.5 version of the framework like setting the ApartmentState and enabling Timeout on tests.

  5. NUnit 2.7.1
  6. NUnit 2.7.1

    The primary purpose of this release is to add an ID filter to the set of filters supported by NUnit V2. This filter type is not used by any of the V2 runners and is intended for use by the V2 driver used when running V2 tests under NUnit 3 using the TestCentric GUI runner, which requires this type of filter.

    One pending bug fix is also included. See the release notes at http://nunitsoftware.com/nunitv2/index.php?p=releaseNotes&r=2.7.1.

  7. Nunit3: TestFixtureSetUpAttribute does not exist in namespace NUnit.Framework #974
  8. NUnit 2 vs NUnit 3. What you need to know.
  9. NUnit - Fails with TestFixtureSetUp method not allowed on a SetUpFixture
  10. SetUp and TearDown Changes
  11. NUnit.Framework Namespace
  12. Most Complete NUnit Unit Testing Framework Cheat Sheet
  13. Introduction to Unit Tests with NUnit
  14. Unit Testing Using NUnit
  15. NUnit Testing with Visual Studio 2015
  16. Environment Setup - NUnit Tutorial
  17. Installation=>Downloading the Zip File section
  18. Installation - Legacy documentation
  19. NUnit #
  20. Using NUnit with Visual Studio

usefull programming structure and utility programs

usefull programming structure and utility programs

  1. VG.net Downloads
  2. CsvReader
  3. A Fast CSV Reader
  4. Full-featured Automatic Argument Parser
  5. Remove SCC information revisited.
  6. Useful Tools for .NET Developers
  7. A floating-point Margin structure, now with TypeConverter
  8. FastTreeView
  9. EventyList: The List with Events
  10. An Object-oriented Approach to Finite State Automata
  11. Adding a state machine to your class
  12. String Tree Dictionary
  13. Custom Tools Explained
  14. Custom Tool (Single File Generator) for Visual Studio 2015
  15. Some Useful Concurrency Classes and A Small Testbench
  16. BinDiff - A tool to compare binary files
  17. PartCover
  18. Building .NET Coverage Tool
  19. SketchIt, A Small .NET Based Development Environment
  20. A Small C# File Cloner Class
  21. A Small C# File Creator Class
  22. Small Helper Tool for Configuration Transformations
  23. Project Tool
  24. CodePlotter 1.6 - Add and edit diagrams in your code with this 'Visio-like' tool
  25. SYSInfo: System info desktop tool
  26. A Small Tool to Remove SCC Information of a VS2003.NET Project File

Saturday, December 21, 2019

serializer

tools

parser

financial predictors

Saturday, December 14, 2019

SQL 2019 developer edition configuration on my workstation

install SQL 2019 developer edition on my T1500 workstation first. then install SQL management studio.

SQL 2019 developer edition configuration. password is: Nutec12142019!

zipped file is unzipped under C:\Samples.

Install notes

When installing from a script, the default database name is AdventureWorks or AdventureWorksDW. If you want the version added to the name, edit the database name at the beginning of the script.

The oltp script drops an existing AdventureWorks database, and the data warehouse script drops an existing AdventureWorksDW. If you don't want that to happen, you can update the $(DatabaseName) in the script to a different name, for example AdventureWorks-new.

To install AdventureWorks, follow these steps:

  1. Copy the GitHub data files and scripts for AdventureWorks to the C:\Samples\AdventureWorks folder on your local client. Or, download AdventureWorks-oltp-install-script.zip and extract the zip file to the C:\Samples\AdventureWorks folder.
  2. Open C:\Samples\AdventureWorks\instawdb.sql in SQL Server Management Studio and follow the instructions at the top of the file.
  3. change runmode into SQL command mode
  4. modify csv file location to fit your own folder structure.
  5. run the installation script instawdb.sql.

good reference

the following links are good reference for future installation of SQL developer version.

  1. How To: Download and install AdventureWorks database for SQL Server 2008
  2. AdventureWorks REadme
  3. please read To install AdventureWorks section. it is very clear description.

  4. NVMe SSD enclosure

how to install LocalDB along with visual Studio 2017?

how to install LocalDB along with visual Studio 2017?

follow instruction in the first instruction to run Visual Studio 2017 installer. then I was prompted to update installer. so I did so.

To install SQL Server Express 2016 LocalDB, go to Start in your Windows OS, type Visual Studio Installer and run it. Then click Modify. It will open the Workloads selection screen where you can select .Net desktop development. .Net desktop development includes SQL Server Express 2016 LocalDB. After selecting, click Modify and you are done.

I checked installed components, I find SQL 2016 LocaDB is installed already.

  1. How to install LocalDB 2016 along with Visual Studio 2017?
  2. Basic Information And Overview Of Visual Studio 2017
  3. Visual Studio 2017: .NET Desktop Development - demo video
  4. How to connect to SQL Server Express LocalDB
  5. How to connect to MS SQL server
  6. How to connect and use Microsoft SQL Server Express LocalDB
  7. Download and Install SQL Server 2016 Sample Databases WideWorldImporters and WideWorldImportersDW
  8. AdventureWorks installation and configuration
  9. AdventureWorks Readme
  10. Download SQL Server Management Studio (SSMS)
  11. How To Install SQL Server Management Studio 2017
  12. download a free specialized SQL sever edition

check Visual Studio installation

Saturday, November 30, 2019

Cache

weak reference

weak reference

  1. 央行范一飞:推进数字化形态法定货币出台应用
  2. WeakReference Class
  3. the above demo is good use to WeakReference. i has a good example to be a framework for my pf project. data table can be put into a cache.

  4. Understanding weak references in .NET
  5. we have a good definition here:A weak reference is a reference to an object that still allows such an object to be collected. In such an event, the weak reference will become null.

  6. Low impact images
  7. C# WeakReference Example
  8. WeakReference Class
  9. My two cents on weak references in .Net
  10. Prefer WeakReference to WeakReference
  11. Short vs. Long Weak References and Object Resurrection
  12. Practical uses of WeakReference
  13. Writing High-Performance .NET Code by Ben Watson
  14. Downloads
  15. Writing High-Performance .NET Code 2nd Edition
  16. WeakReference understanding
  17. #740 – Short vs. Long Weak References
  18. #733 – How to Tell If an Object Has Been Garbage Collected
  19. Weak References
  20. Weak Event Patterns
  21. How to Kill a Keep Alive with a Weak Reference (C#)

backtesting in Python

Thursday, November 28, 2019

parent class of a control

parent class of a control


partial trust code

goood personal links

static class topics

static class topics

  1. Create Data Classes
  2. AnyDataFileToXmlConverter Class/Utility
  3. A Class Based Enumeration Implementation
  4. A class for operations with Large Integer Numbers
  5. A C# Single Application Instance Class
  6. Constructing an instance class from its base class instance
  7. C# Binary Literal Helper Class
  8. A Decimal Class Implementation
  9. A BigNumber Class Done in C#
  10. Cat - A Statically Typed Programming Language Interpreter in C#
  11. C# FileAssociation Class
  12. DataGridView Helper Class
  13. A generic Trictionary class
  14. Fraction class in C#
  15. NT Security Classes for .NET
  16. Refactoring Legacy Code - Part 1: Dealing with Static Cling
  17. A BitStream Class for the .NET Framework
  18. C# Static Cache and Multithreading
  19. Do You Write Interfaces for Classes? I’m Begging You… Stop!
  20. Static constructor in C#
  21. Identifying static variables in a reuseable component
  22. Generic Types Don't Share Static Members
  23. Implementation of Class Factories in C#
  24. Constant , Readonly and Static in C#
  25. Must Remember: 9 Key Concepts to Keyword ‘Static’
  26. Static Interfaces in C#
  27. "Method can be made static" May Hide OO Design Flaw
  28. Static Class, Singleton and their Side Effects
  29. Static Keyword Demystified
  30. drew noakes.com
  31. Stateful or Stateless classes
  32. Introducing C# 2.0 static classes
  33. Static Events
  34. Interfaces and Abstract Classes
  35. Class Mechanics
  36. Static Members vs Instance Members (Overview)
  37. A Set class
  38. Object-Oriented Static Destructors
  39. C# BigInteger Class
  40. A DelegateQueue Class
  41. A .NET State Machine Toolkit - Part I
  42. A DelegateQueue Class
  43. Understanding Static Methods and Data
  44. Internals of Static Polymorphism

Saturday, November 23, 2019

C# SystemInfo class and TabLayouPanel class

card game

candlestick pattern

contra-variance

new features of C# 8.0

Saturday, November 16, 2019

simple parser

good articles on OOP programming

good articles on OOP programming

  1. Track Object Finalization
  2. Data Transfer Object
  3. Objects Comparer
  4. Implementing Deep Cloning using Reflection
  5. Using Objects Comparer to Compare Complex Objects in C#
  6. An Easy to Use Observer Pattern Implementation (No Inheritance Required)
  7. Runtime Object Editor
  8. Object Inspector
  9. Finding Undisposed Objects
  10. Object Comparer
  11. Code Rescue: Copying code from CodeProject to Visual Studio
  12. Timer surprises, and how to avoid them
  13. Facts and Fallacies of Events in C#
  14. LPTextFileDiff: another textfile compare utility.
  15. Object Explorer
  16. Deep copy of objects in C#
  17. Following object inheritance

  18. Introduction to Object Oriented Programming Concepts (OOP) and More
  19. Why Object Oriented Programming Matters
  20. Lessons from a Life in a Chair
  21. How to Write a Really Object Oriented Program
  22. How to write a really object oriented program
  23. a good example to write Canvas class as an exercise. worth reading it..

  24. Introduction to UML
  25. The refactoring guideline
  26. The Big Testing Guideline
  27. Object Oriented Programming with C++
  28. dwl::fractalBrowser
  29. Delegates: C++11 vs. Impossibly Fast - A Quick and Dirty Comparison
  30. DWinLib 6: Pretty WinAPI Incorporation
  31. Programmatically change display resolution
  32. DWinLib - A Minimal Project
  33. Object Oriented Design Principles
  34. OOP in the Real World - Creating an Equation Editor
  35. Building a General Purpose Interpreter, Math Engine and Parser in C#
  36. NULL Object Design Pattern
  37. Generic Object Factory
  38. A Look At What's Wrong With Objects
  39. Convert XML to C# Object
  40. Object Oriented Programming Concepts

research on multithreading

Monday, November 11, 2019

good utiliy on Windows Form applications

good utiliy on Windows Form applications

  1. Articles by Tom Clement (Articles: 5, Tip/Tricks: 2)
  2. the following link deserve a look and see it is related with my Point & figure chart application.

  3. Solving the .resx Merge Problem
  4. Context Help Made Easy
  5. A Pretty Good Splash Screen in C#
  6. A Magical Edit Menu Manager

study on delegate

more details on events and more info fom Dave/CEO

operator overloading

New Features of C# 8

New Features of C# 8

  1. New Features of C# 8

Saturday, November 9, 2019

study on pong games

good posts on Generics in C#

research on ICloneable interface

Saturday, October 26, 2019

embed an assembly in an executable

tips to use CodeMap in Visual Studio 2019

tips to use CodeMap in Visual Studio 2019.search: codemap visual studio on youtube.com

  1. Understand design from code with Visual Studio 2015 code maps
  2. Understand design from code with Visual Studio 2015 code maps
  3. How to make full graphical code map with full Code Map Visual Studio
  4. Using VS 2017 / 2019 Code Map to find out the Code Dependencies
  5. VS 2013 Dev Features Part 2 (Code Map, Lens, Clone and Suspend and Resume )
  6. How to Use the Class Diagram Tool in Visual Studio
  7. How to Use the Class Diagram Tool in Visual Studio
  8. Getting Class Diagrams in Visual Studio 2017
  9. Visual Studio 2013 Launch ​Understanding Your Code Using Code Map
  10. CodeMap: deep program analysis and visualization for large-scale software.
  11. Visual Studio 2013 Launch ​Enhanced Debugging Using Code Map Debugger Integration
  12. 快速上手 Visual Studio 2012 Update 1 的 Code Map (程式碼地圖) 功能
  13. Visual Studio Code Intro & Setup
  14. CodeMap: deep program analysis and visualization for large-scale software.
  15. Visual Studio 2013 Launch ​Understanding Your Code Using Code Map

Sunday, October 20, 2019

code refactoring

code refactoring

  1. Refactorings

C# interface implicit implementaion

  1. Generics in C#
  2. A Deep Dive into C# Interface
  3. C# Interfaces. Implicit implementation versus Explicit implementation
  4. What's the difference between implementing an Interface explicitly or implicitly?
  5. Explicit Interface Implementation (C# Programming Guide)
  6. Implicit and Explicit Interface Implementations
  7. C# Implicit and Explicit Interface Examples
  8. Explicit Interface VS Implicit Interface in C#?
  9. Implement interfaces explicitly or implicitly in C#
  10. Explicit Interface Implementation with C#
  11. C# | Explicit Interface Implementation
  12. Distinguishing the Explicit and Implicit Interface Implementation in C#
  13. C# Interface: Definition, Examples, Best Practices, and Pitfalls
  14. 8.4 Explicit Interface Implementation
  15. Interface - Implicit Implementation by dotnetdesignprinciples
  16. good example and test it.
  17. C#/.NET Little Wonders: Explicit Interface Implementation
  18. Implicit vs Explicit interface implementations
  19. ImplicitInterfaceImplementation
  20. Dealing with Conflicting Interfaces: Part II - .NET
  21. Implicit Implementation
  22. Explicit Interface Implementation in C#
  23. Default Interface Methods in C# 8
  24. Implicit versus Explicit Interface implementation (C#)
  25. test it.

  26. C# Interface
  27. good post.

  28. Interface Attributes != Class Attributes
  29. When to add an interface to a class
  30. a good read

  31. C# 8.0: default interface implementation
  32. good read

  33. Explicit interface implementation in .NET
  34. good read

  35. VB Equivalent to C# Interfaces
  36. Internal Interface Classes in C#
  37. good read

  38. Be Careful with the Implicit Implementation for Interfaces
  39. good read

  40. Interfaces
  41. Interface vs Abstract class vs Concrete class
  42. Use Reflection to find Methods that implement explicit interfaces
  43. Conversions (explicit or implicit) and interfaces in C#
  44. Interface in C# using an example
  45. good read

  46. Explicitly Implementing an Interface with an Event
  47. a must read

  48. C# Interface vs Abstract Class
  49. C#: Implementing Generic Method of Generic Interface Causes Runtime Exception
  50. interfaces Why Doesn't C# Allow Static Methods to Implement an Interface?
  51. .NET Interface-based Programming
  52. make a copy and print out

  53. Implementing virtually and re-implementing of interfaces in C#
  54. a must read
  55. The curious case of the publicity-seeking interface and the shy abstract class
  56. Using the IComparable interface example C#.Net
  57. Writing Implicit and Explicit C# Conversion Operators
  58. The Five Types of C# Types
  59. Explicit interface implementation
  60. Why does an abstract class need to implement interface methods?
  61. an explanation of implicit conversion vs explicit conversion
  62. How to explicitly implement an interface event
  63. http://www.dickbaldwin.com/csharp/Cs000128a.htm
  64. Custom Implementation of the Option/Maybe Type in C#
  65. Interface vs. Virtual vs. Abstract
  66. Custom Type Conversion in C#