首页 > 其他 > 详细

C#获得反射类属性;获取时间段内,选中的星期(可以多个)匹配的天数

时间:2014-03-19 20:37:49      阅读:528      评论:0      收藏:0      [点我收藏+]
获取反射得到类的属性 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace WindowsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Type t = typeof(Form1);
MethodInfo[] info = t.GetMethods();
foreach (MethodInfo i in info)
{
MessageBox.Show(i.Name);
}
}
}
}

   获取时间段内,选中的星期(可以多个)匹配的天数

/// <summary>
/// 时间段内根据查询哪些星期几的所有天数
/// </summary>
/// <param name="dateStart">时间段的起始时间</param>
/// <param name="dateEnd">时间段的结束时间</param>
/// <param name="freq">用0-6表示的星期,数组保存选中的星期</param>
/// <returns></returns>
public static int GetFreDayByStretch(DateTime dateStart, DateTime dateEnd, string[] freq)
{
int SubDays = (dateEnd - dateStart).Days;
//只要能被7除的整数,都应该乘以匹配的个数
var Num = (SubDays / 7) * freq.Count();
var surplus = SubDays % 7;
//被7的余数,从起始时间开始累加,若与freq中的匹配则加1
for (int i = 0; i < surplus; i++)
{
var dayofweekStart = (int)dateStart.AddDays(i).DayOfWeek;
for (int j = 0; j < freq.Length; j++)
{
if (int.Parse(freq[j]) == dayofweekStart)
{
Num = Num + 1;
}
}
}
return Num;
}

C#获得反射类属性;获取时间段内,选中的星期(可以多个)匹配的天数,布布扣,bubuko.com

C#获得反射类属性;获取时间段内,选中的星期(可以多个)匹配的天数

原文:http://blog.csdn.net/needkane/article/details/21548679

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!