这一体电脑好不好还是不好

2010年 总版技术专家分年内排行榜第一2009年 总版技术专家分年内排行榜第一
2011年 总版技术专家分年内排行榜第二
2010年 总版技术专家分年内排行榜第一2009年 总版技术专家分年内排行榜第一
2011年 总版技术专家分年内排行榜第二
本帖子已过去太久远了,不再提供回复功能。C# 怎么使用 #Define?_c#吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:98,086贴子:
C# 怎么使用 #Define?收藏
图片来自:一楼引大神或狼
c#培训选择达内的理由1,企业级开发环境2,项目实战教学3,c#课程可选4,金牌讲师授课5,周末/业余班任选.c#培训首选达内--美国上市公司!
比如这个,它一直提示“应输入单行注释或行尾”,这个怎么破?或者,如果想改成const,应该怎么写?
常数不是这么声明的!public const int SW_MAX = 11;#define的用法:
按照你的方法是成功声明了,只是我的问题并没有因此而解决,因为以下代码的最后一句:WinExec("C:/Program Files/TTPlayer/TTPlayer.exe","1");执行的时候嗲吗底下画红线,这是参数声明无效的表现吗?以下是我参考的例子:-----------------------------------------------------------------------一、打开外部exe文件(需要引入using System.Runtime.InteropS)1、WinExec声明:[DllImport("kernel32.dll", EntryPoint="WinExec")]public static extern int WinExec ( string lpCmdLine, int nCmdShow);参数说明:lpCmdLine:包含要执行的命令行,nCmdShow:定义了以怎样的形式启动程序的常数值nCmdShow数值说明:#define SW_HIDE
0 //隐藏窗口,活动状态给令一个窗口#define SW_SHOWNORMAL
1 //用原来的大小和位置显示一个窗口,同时令其进入活动状态#define SW_NORMAL
1#define SW_SHOWMINIMIZED
2#define SW_SHOWMAXIMIZED
3#define SW_MAXIMIZE
3#define SW_SHOWNOACTIVATE
4 //用最近的大小和位置显示一个窗口,同时不改变活动窗口#define SW_SHOW
5 //用当前的大小和位置显示一个窗口,同时令其进入活动状态#define SW_MINIMIZE
6 //最小化窗口,活动状态给令一个窗口#define SW_SHOWMINNOACTIVE
7 //最小化一个窗口,同时不改变活动窗口#define SW_SHOWNA
8 //用当前的大小和位置显示一个窗口,不改变活动窗口#define SW_RESTORE
9 //与 SW_SHOWNORMAL
1 相同#define SW_SHOWDEFAULT
10#define SW_FORCEMINIMIZE
11#define SW_MAX
11调用例子:打开千千静听WinExec("C:/Program Files/TTPlayer/TTPlayer.exe","1");
打开外部文件没必要调用本地方法。System.Diagnostics.Process.Start("C:/Program Files/TTPlayer/TTPlayer.exe")这样就行了。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或代码里用到一个变量,具体类型尚未确定,可能需要UInt32,也可能得用UInt64,我想写:#define DataIDType UInt32结果VS不支持。。。
写public class DataIDType : UInt32{}然后用到的地方又提示无法隐式地将uint型转为DataIDType型。。。
要是为了这个专门写一些构造方法,是不是太麻烦了。
大家怎么解决这种问题的呢
该问题被发起重新开启投票
投票剩余时间:
之前被关闭原因:
该问题被发起删除投票
投票剩余时间:
距离悬赏到期还有:
参与关闭投票者:
关闭原因:
该问题已经被锁定
锁定原因:()
保护原因:避免来自新用户不合宜或无意义的致谢、跟帖答案。
该问题已成功删除,仅对您可见,其他人不能够查看。
如果用预编译命令解决1, 在类的头部写上#define UInt32或者在项目的环境变量定义
2,在用到这个变量的时候
#if UInt32UInt32 typeN#elseUInt64 typeN#end if
自己写类解决,关键在于重写隐式和显式转换
public class DataIDType
public UInt64 Value { }
public DataIDType(UInt32 value)
public DataIDType(UInt64 value)
static public implicit operator DataIDType(UInt32 value)
return new DataIDType(value);
static public implicit operator DataIDType(UInt64 value)
return new DataIDType(value);
static public explicit operator UInt32(DataIDType data)
return (UInt32)data.V
static public explicit operator UInt64(DataIDType data)
return data.V
Using DataIDType=System.UInt32
这样就可以了
考虑使用泛型public class DataIDType&T&{
//实现代码..}public class ABC{
DataIDType&int& dit = new DataIDType&int& ();}
不能这么写的,UInt32,UInt64是结构体,不能被继承。。。如果你真的想接收这样的变量就不用在乎存进去的是什么类型,object 就足够了,例如:
public class DataIDType
public object Data
if (data is UInt32 || data is UInt64)
存入数据时调用Data属性。虽然最后取出的是object,但里面的数据类型只有可能是UInt32或者UInt64。
不是您所需,查看更多相关问题与答案
德问是一个专业的编程问答社区,请
后再提交答案
关注该问题的人
共被浏览 (15372) 次}

我要回帖

更多关于 手机用电脑充电好不好 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信