已有57人关注
引用dll文件,调用不到方法,请问这是什么原因呀?
发表在C#图书答疑 2010-07-03
是否精华
版块置顶:
[font color=#FF0000][strong]//尊敬的老师,你好,我新建了一个类项目,生成dll文件,再新建一个widows窗体项目,引用该dll文件,资源管理器中双击该dll文件在对象浏览器中却看不到有方法,代码中也调用不到,请问这是什么原因呀?[/strong][/font]



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Security.Cryptography;   //加密解密用
using System.IO;                      //MemoryStream文件流用


namespace cls_encrypt
{
    class cls_encryptString
    {
        public string Encryp(string what)
        {

            string encryptKey = "secr";//加密key



            try
            {

                DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();
                byte[] key = Encoding.Unicode.GetBytes(encryptKey);
                byte[] data = Encoding.Unicode.GetBytes(what.Trim());
                MemoryStream MStream = new MemoryStream();
                CryptoStream CStream = new CryptoStream(MStream, descsp.CreateEncryptor(key, key), CryptoStreamMode.Write);
                CStream.Write(data, 0, data.Length);
                CStream.FlushFinalBlock();
                return Convert.ToBase64String(MStream.ToArray());


            }
            catch
            {

                return string.Empty;

            }
        }




        public string Descryp(string what)            //有返回值的方法
        {
            string encryptKey = "secr";//解密key

            try
            {
                DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();
                byte[] key = Encoding.Unicode.GetBytes(encryptKey);
                byte[] data = Convert.FromBase64String(what.Trim());
                MemoryStream MStream = new MemoryStream();
                CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write);
                CStream.Write(data, 0, data.Length);
                CStream.FlushFinalBlock();
                return Encoding.Unicode.GetString(MStream.ToArray());

            }
            catch
            {

                return string.Empty;
            }

        }

    }
}




[strong]//以下是新窗体项目代码[/strong]


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using cls_encrypt;//引用加密命名空间

namespace 调用加密类dll
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            Encryp Encryp = new Encryp("fdfds");
            textBox1.Text = Encryp;
        }
    }
}

分享到:
精彩评论 1
满园春色关不住
学分:0 LV1
TA的每日心情
努力自律
2023-11-19 09:49:04
2010-07-04
沙发
读者朋友:
    你好,对于你提出的问题,可以通过如下方法解决。
将class cls_encryptString 类的定义添加public
访问修饰符,只有添加public访问修饰符才可以正常
使用cls_encryptString类。

新窗体项目代码中可以添加如下语句
cls_encryptString cc = new cls_encryptString();
string s = cc.Encryp("加密信息");
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照