首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

这些代码是什么意思?能否翻译成C#语句?解决思路

2012-04-25 
这些代码是什么意思?能否翻译成C#语句?public enum Status{IO_SUCCESS,IO_FAILURE,ERR_INVALID_PARAM,ERR_

这些代码是什么意思?能否翻译成C#语句?
public enum Status
  {
  IO_SUCCESS,
  IO_FAILURE,
  ERR_INVALID_PARAM,
  ERR_ALREADY_CONNECTED,
  ERR_INSUFFICIENT_MEMORY,
  ERR_INVALID_DRIVER,
  ERR_DRIVERLOAD_FAILURE,
  ERR_DRIVER_EXCEPTION,
  ERR_DRIVER_FAILURE,
  WRITE_TIMED_OUT,
  READ_TIMED_OUT,
  }
  public unsafe Status GetChannelLimits(string channelName, out string minValue, out string maxValue)
  {
  basic_string<char,std::char_traits<char>,std::allocator<char> > local4;
  Status status = Status.IO_FAILURE;
  if (channelName == null)
  {
  return Status.ERR_INVALID_PARAM;
  }
  std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{ctor}(&local4);
  try
  {
  basic_string<char,std::char_traits<char>,std::allocator<char> > local3;
  std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{ctor}(&local3);
  try
  {  
  basic_string<char,std::char_traits<char>,std::allocator<char> > local2;
  std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{ctor}(&local2);
  try
  {
  basic_string<char,std::char_traits<char>,std::allocator<char> > local;
  this.m_pConversionManager.MarshalAsString(channelName, &local4);
  basic_string<char,std::char_traits<char>,std::allocator<char> >* localPtr2 = &local;
  status = GetChannelLimits(std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{ctor}(localPtr2, (basic_string<char,std::char_traits<char>,std::allocator<char> > modopt(IsConst)* modopt(IsImplicitlyDereferenced)) &local4), &local3, &local2);
  minValue = new string(std.basic_string<char,std::char_traits<char>,std::allocator<char> >.c_str((basic_string<char,std::char_traits<char>,std::allocator<char> > modopt(IsConst)* modopt(IsConst) modopt(IsConst)) &local3));
  maxValue = new string(std.basic_string<char,std::char_traits<char>,std::allocator<char> >.c_str((basic_string<char,std::char_traits<char>,std::allocator<char> > modopt(IsConst)* modopt(IsConst) modopt(IsConst)) &local2));
  }
  fault
  {
  ___CxxCallUnwindDtor(std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{dtor}, (void*) &local2);
  }
  std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{dtor}(&local2);
  }
  fault
  {
  ___CxxCallUnwindDtor(std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{dtor}, (void*) &local3);
  }
  std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{dtor}(&local3);
  }
  fault
  {
  ___CxxCallUnwindDtor(std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{dtor}, (void*) &local4);
  }
  std.basic_string<char,std::char_traits<char>,std::allocator<char> >.{dtor}(&local4);


  return status;
]
}

 


[解决办法]
翻人家源码是不好的。
[解决办法]
求大虾出现!
[解决办法]
只知道开头定义了一个枚举
[解决办法]
你把每个英文单词翻译一下 估计就可以理解一半了
[解决办法]
vc.net的代码。楼主反编译过来的吧。
vc.net可以混编非托管代码。
楼主只弄了其中一部分。不全。

[解决办法]
C++/CLR中混用了模板等东西,
建议找个用过CPP的人,用.net重写,或者直接用CPP做算了

这样用下去,你的代码永远都是unsafe的

如果是因为使用了第三方dll,用cpp/clr做个wrapper,
主要也就是指针注意处理一下。
[解决办法]
公共枚举状态
{
IO_SUCCESS,
IO_FAILURE,
ERR_INVALID_PARAM,
ERR_ALREADY_CONNECTED,
ERR_INSUFFICIENT_MEMORY,
ERR_INVALID_DRIVER,
ERR_DRIVERLOAD_FAILURE,
ERR_DRIVER_EXCEPTION,
ERR_DRIVER_FAILURE,
WRITE_TIMED_OUT,
READ_TIMED_OUT,
}
公共不安全状态GetChannelLimits的(channelName串出串MINVALUE出字符串MAXVALUE)
{
basic_string的<字符的std :: char_traits <char>,性病::的分配器<char>> LOCAL4;
状态状态= Status.IO_FAILURE;
如果(channelName == NULL)
{
返回Status.ERR_INVALID_PARAM;
}
std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>> {构造函数}(&LOCAL4)。
尝试
{
basic_string的<字符的std :: char_traits <char>,性病::的分配器<char>> local3;
std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>> {构造函数}(&local3)。
尝试
{
basic_string的<字符的std :: char_traits <char>,性病::的分配器<char>> local2;
std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>> {构造函数}(local2)。
尝试
{
basic_string的<字符的std :: char_traits <char>的std ::分配器<char>>本地;
this.m_pConversionManager.MarshalAsString(channelName,与LOCAL4);
basic_string的<字符的std :: char_traits <char>的std ::分配器<char>> * localPtr2 = &local;
状态GetChannelLimits(std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>> {构造函数}(localPtr2,(basic_string的<字符的std :: char_traits <char>的std ::分配器<char>> MODOPT(IsConst)* MODOPT(IsImplicitlyDereferenced))&LOCAL4),与local3与local2);
MINVALUE =新的字符串(std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>。c_str((basic_string的<字符的std :: char_traits <char>的std ::分配器<char> > MODOPT(IsConst)* MODOPT(IsConst)MODOPT(IsConst))local3));
MAXVALUE =新的字符串(std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>。c_str((basic_string的<字符的std :: char_traits <char>的std ::分配器<char> > MODOPT(IsConst)* MODOPT(IsConst)MODOPT(IsConst))local2));
}
故障
{
___CxxCallUnwindDtor(std.basic_string <字符的std :: char_traits <char>,分配器的std :: <char>> {析构函数},(无效*)&local2。);
}
std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>> {析构函数}(local2)。
}
故障
{
___CxxCallUnwindDtor(std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>> {析构函数},(无效*)&local3);
}
std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>> {析构函数}(&local3)。
}
故障
{
___CxxCallUnwindDtor(std.basic_string <字符的std :: char_traits <char>,分配器的std :: <char>> {析构函数},(无效*)&LOCAL4);
}
std.basic_string <字符的std :: char_traits <char>的std ::分配器<char>> {析构函数}(&LOCAL4)。
返回状态;
]
}

热点排行