我的第一个c#声明……这样做的正确方法是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了我的第一个c#声明……这样做的正确方法是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2424字,纯文字阅读大概需要4分钟。
内容图文
![我的第一个c#声明……这样做的正确方法是什么?](/upload/InfoBanner/zyjiaocheng/764/ca1d81d056c84fe5bd8f144760b13ad6.jpg)
正如标题所示,这是我的第一个C#尝试,所以请放轻松. (作为一个新手,我保证会为C#专业人员提出一些简单的问题,以便为您提供一些简单的观点!)我正在使用ExcelDNA在Excel中创建一个UDF,它将查询我们的mysql数据库.我已经添加了ExcelDNA和mysql连接器dll作为参考.我有以下代码,它会产生一些错误:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;
using ExcelDna.Integration;
using MySql.Data.MySqlClient;
namespace my_test
{
public partial class ThisAddIn
{
[ExcelFunction(Description = "Multiplies two numbers", Category = "Useful functions")]
public static MultiplyThem(string[] args)
{
string connString = "Server=localhost;Port=3306;Database=test;Uid=root;password=p-word";
MySqlConnection conn = new MySqlConnection(connString);
MySqlCommand command = conn.CreateCommand();
command.CommandText = "SELECT field_value FROM customers";
try
{
conn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
string myvariable = "bad";
MySqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
myvariable = reader["field_value"].ToString;
}
return myvariable.ToString;
}
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
}
}
这是错误:
错误1无法将方法组“ToString”转换为非委托类型“double”.你打算调用这个方法吗?
错误2方法必须具有返回类型
错误3无法将方法组“ToString”转换为非委托类型“字符串”.你打算调用这个方法吗?
错误4由于’my_test.ThisAddIn.MultiplyThem(string [])’返回void,因此返回关键字后面的对象表达式不能出现
解决方法:
如果您要使用Excel-DNA,则需要取出对Visual Studio Tools for Office(VSTO)程序集的引用以及代码中的相应位 – 您不能将这两个框架混合在一个程序集中. VSTO部分是名为Microsoft.Office.Tools …所以我建议:
>删除使用Microsoft.Office.Tools.Excel;
>您的加载项类不必是部分的(不太可能是其他“部分”).
>删除ThisAddIn_Startup和ThisAddIn_Shutdown – 也是VSTO框架的一部分.
您的Console.WriteLine不太可能去任何地方 – 而是使用ExcelDna.Logging.LogDisplay.WriteLine.
另一个提示:在参考的属性表中将ExcelDna.Integration.dll的引用设置为Copy Local:true.这样,您就不会在输出目录中获得此程序集的不必要副本.
如果您使用的是Visual Studio 2010,则您的库可能会以.NET 4.0为目标.请记住在.dna文件中设置运行时版本:
<DnaLibrary RuntimeVersion="v4.0" >
<ExternalLibrary Path="MyAddIn.dll" />
</DnaLibrary>
内容总结
以上是互联网集市为您收集整理的我的第一个c#声明……这样做的正确方法是什么?全部内容,希望文章能够帮你解决我的第一个c#声明……这样做的正确方法是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。