static void Main() {
// Create proxy and request a service
//Proxy proxy = new Proxy();
//proxy.Request();
// Wait for user
GenerationStaticPage p = new GenerationStaticPage();
string pagecontent = p.GenerationPage();
Console.Write(pagecontent);
Console.Read();
}
public class GenerationStaticPage
{
#region 属性
public string MemberName
{
get
{
return "Vodgo";
}
set
{
//
}
}
public string MeetingName
{
get
{
return "Productor page";
}
set
{
//
}
}
public string RoomName
{
get
{
return "24-1";
}
set
{
//
}
}
public string BeginTime
{
get
{
return "2007-12-1 12:01:29";
}
set
{
//
}
}
#endregion
public string GenerationPage()
{
//读取模板的内容(方法自己写吧)
string content = "你好,#?MemberName?#请出席会议:#?MeetingName?#。地点:#?RoomName?#。时间:#?BeginTime?#。";
StringBuilder builder = new StringBuilder(content);
string pattern = @"#\?(?'property'\S+?)\?#";
return Regex.Replace(content, pattern, new MatchEvaluator(RegexMatchEvaluation), RegexOptions.ExplicitCapture);
}
private string RegexMatchEvaluation(Match match)
{
//get the property name (named group of the regex)
string propertyName = match.Groups["property"].Value;
//try to get a property handle from the business object
PropertyInfo pi = this.GetType().GetProperty(propertyName);
//do not replace anything if no such property exists
if (pi == null)
{
return match.Value;
}
//return the property value
object propertyValue = pi.GetValue(this, null);
if (propertyValue != null)
{
return propertyValue.ToString();
}
else
{
return string.Empty;
}
}
}
比较模板内容:
你好,#?MemberName?#请出席会议:#?MeetingName?#。地点:#?RoomName?#。时间:#?BeginTime?#。
运行结果:
你好,Vodgo请出席会议:Productor page。地点:24-1。时间:2007-12-1 12:01:29。