Skip to content

{ Category Archives } .Net

Loop über Enum Values in C#

Soll über einen Enum Wert geloopt werden, kann dies so gelöst werden:
enum myEnum
{
aa,
bb
}

myEnum b = new myEnum();

private void IncreaseEnumValue()
{

b++;
if(!Enum.IsDefined(typeof(myEnum),b))
{
b = 0;
}
}

Kuckucks Uhr in C#

using System;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
 
namespace Uhr
{
    public partial class Form1 : Form
    {
        [DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet = CharSet.Ansi)]
        protected static extern int mciSendString
        (string mciCommand,
        StringBuilder returnValue,
        int returnLength,
        IntPtr callback);
        [DllImport("kernel32.dll")]
        public static extern bool Beep(int frequency, int duration);
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            for [...]

Visual Studio Post / Pre Build Events

Visual Studio unterstützt Post / Pre build events. Wenn diese einen Fehler verursachen, bricht das Kompilieren ab. Wenn diese beiden Events nun dazu genutzt werden, einen Service zu stoppen oder starten, ist es mühsam, da der Status vor dem Kompilieren nicht definiert ist. Hier 4 Varianten:

IgnoreExitCode<Exec WorkingDirectory=”$(OutDir)” Command=”$(PreBuildEvent)” IgnoreExitCode=”true” />
ContinueOnError<Exec WorkingDirectory=”$(OutDir)” Command=”$(PreBuildEvent)” ContinueOnError=”true” />
default PreBuildEvent%windir%\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets [...]

VB .NET New Logical Operators

VB gehört verboten! 
But AndAlso and OrElse have some properties that enhance your code in ways that VB 6 can’t match. They offer advantages in two general categories:

You can avoid executing part of a logical expression to avoid problems.
You can optimize code by not executing any more of a compound expression than required.
VB .NET New Logical Operators [...]