<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="mykey" value="string"/>
</appSettings>
</configuration>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
namespace Mytest
{
class Program
{
public static ReturnMax returnmaxssss;
static void Main(string[] args)
{
CallMethod();
string[] aaaa= new string[]{"aaaa","bbbbbbbb","ccccccccccccccccccccccccccc","dddddddddddddddddddd"};
//Console.WriteLine(returnmaxssss.max(aaaa));
//int[] aaaa = new int[] { 120,130,140,150,190,1,1,1,12,3,44,41,6,4,6,4,20 };
Console.WriteLine(returnmaxssss.max(aaaa));
Console.ReadKey();
}
private static void CallMethod()
{
string Values = GetValue();
if (Values == "string")
{
returnmaxssss = new ReturnString();
}
else if (Values == "int")
{
returnmaxssss = new ReturnInt();
}
}
private static string GetValue()
{
return ConfigurationManager.AppSettings["mykey"];
}
}
public interface ReturnMax
{
object max(object obj);
}
public class ReturnString:ReturnMax
{
public object max(object obj)
{
// throw new NotImplementedException();
string[] msg = obj as string[];
string maxstring="";
for (int i = 0; i < msg.Length; i++)
{
if (msg[i].Length>maxstring.Length)
{
maxstring=msg[i];
}
}
return maxstring;
}
}
public class ReturnInt : ReturnMax
{
public object max(object obj)
{
int[] nums = obj as int[];
int maxint=nums[0];
for (int i = 0; i < nums.Length; i++)
{
if (nums[i]>maxint)
{
maxint=nums[i];
}
}
return maxint;
//throw new NotImplementedException();
}
}
}