资源简介

字符串操作、加密解密、密码生成、字符过滤、文件上传下载、邮件发送、验证码、cookie和缓存操作等方法

资源截图

代码片段和文件信息

using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Reflection;

namespace LBC
{
    /// 
    /// 支持克隆的类
    /// 

    public abstract class Cloneableobject : ICloneable
    {
        ///     
        /// 克隆对象,并返回一个已克隆对象的引用    
        /// 
    
        /// 引用新的克隆对象    
        public object Clone()
        {
            Type thisType = this.GetType();
            //首先我们建立指定类型的一个实例         
            object newobject = Activator.CreateInstance(thisType);
            //我们取得新的类型实例的字段数组。         
            FieldInfo[] fields = newobject.GetType().GetFields();
            int i = 0;
            foreach (FieldInfo fi in thisType.GetFields())
            {
                //我们判断字段是否支持ICloneable接口。 
                Type ICloneType = fi.FieldType.GetInterface(“ICloneable“ true);
                if (ICloneType != null)
                {
                    //取得对象的Icloneable接口。  
                    ICloneable IClone = (ICloneable)fi.GetValue(this);
                    //我们使用克隆方法给字段设定新值。         
                    fields[i].SetValue(newobject IClone.Clone());
                }
                else
                {
                    // 如果该字段部支持Icloneable接口,直接设置即可。  
                    fields[i].SetValue(newobject fi.GetValue(this));
                }
                //现在我们检查该对象是否支持IEnumerable接口,如果支持,   
                //我们还需要枚举其所有项并检查他们是否支持IList 或 IDictionary 接口。
                Type IEnumerableType = fi.FieldType.GetInterface(“IEnumerable“ true);
                if (IEnumerableType != null)
                {
                    //取得该字段的IEnumerable接口     
                    IEnumerable IEnum = (IEnumerable)fi.GetValue(this);
                    //这个版本支持IList 或 IDictionary 接口来迭代集合。
                    Type IListType = fields[i].FieldType.GetInterface(“IList“ true);
                    Type IDicType = fields[i].FieldType.GetInterface(“IDictionary“ true);
                    int j = 0;
                    if (IListType != null)
                    {
                        //取得IList接口。      
                        IList list = (IList)fields[i].GetValue(newobject);
                        foreach (object obj in IEnum)
                        {
                            //查看当前项是否支持支持ICloneable 接口。   
                            ICloneType = obj.GetType().GetInterface(“ICloneable“ true);
                            if (ICloneType != null)
                            {
                                //如果支持ICloneable 接口,
                                //我们用它李设置列表中的对象的克隆
                                ICloneable clone = (ICloneable)obj;
                                list[j] = clone.Clone();
                            }
                            //注意:如果列表中的项不支持ICloneable接口,那么                  
                            //在克隆列表的项将与原列表对应项相同                  
               

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      79360  2009-03-19 20:17  LBC.Utility\bin\Debug\LBC.Utility.dll

     文件     245248  2009-03-19 20:17  LBC.Utility\bin\Debug\LBC.Utility.pdb

     文件     103036  2009-03-19 20:17  LBC.Utility\bin\Debug\LBC.Utility.xml

     文件       4639  2009-03-18 08:32  LBC.Utility\Cloneableobject.cs

     文件       1574  2009-03-18 08:32  LBC.Utility\DataToExcel.cs

     文件       1433  2009-03-18 08:32  LBC.Utility\EnumConvert.cs

     文件       2945  2009-03-19 10:33  LBC.Utility\ExtensionList.cs

     文件       4433  2009-03-19 10:37  LBC.Utility\LBC.Utility.csproj

     文件        168  2009-03-19 10:11  LBC.Utility\LBC.Utility.csproj.user

     文件       3145  2009-03-18 08:32  LBC.Utility\ListConvert.cs

     文件       4531  2009-03-19 19:50  LBC.Utility\Net\FtpConfig.cs

     文件      22724  2009-03-19 10:24  LBC.Utility\Net\FtpUtility.cs

     文件       2131  2009-03-18 08:40  LBC.Utility\Net\IP.cs

     文件       3490  2009-03-18 08:32  LBC.Utility\NetMail.cs

     文件       1410  2009-03-19 20:17  LBC.Utility\obj\Debug\LBC.Utility.csproj.FileListAbsolute.txt

     文件      79360  2009-03-19 20:17  LBC.Utility\obj\Debug\LBC.Utility.dll

     文件     245248  2009-03-19 20:17  LBC.Utility\obj\Debug\LBC.Utility.pdb

     文件      20480  2009-03-18 13:11  LBC.Utility\obj\Debug\Refactor\LBC.Utility.dll

     文件       6839  2009-03-18 08:32  LBC.Utility\PasswordGenerator.cs

     文件       1368  2009-02-02 16:24  LBC.Utility\Properties\AssemblyInfo.cs

     文件       6204  2009-03-18 17:24  LBC.Utility\Security\base64.cs

     文件       3664  2009-03-18 17:24  LBC.Utility\Security\CRC32.cs

     文件       2758  2009-03-18 17:24  LBC.Utility\Security\Decryptor.cs

     文件       3035  2009-03-18 17:24  LBC.Utility\Security\DecryptTransformer.cs

     文件       9225  2009-03-18 17:24  LBC.Utility\Security\DES.cs

     文件        700  2009-03-18 17:24  LBC.Utility\Security\EncryptionAlgorithm.cs

     文件       2836  2009-03-18 17:24  LBC.Utility\Security\Encryptor.cs

     文件       5451  2009-03-18 17:24  LBC.Utility\Security\EncryptTransformer.cs

     文件       3740  2009-03-18 17:24  LBC.Utility\Security\MD5.cs

     文件       2685  2009-03-18 17:24  LBC.Utility\Security\NewDES.cs

............此处省略31个文件信息

评论

共有 条评论