我没有任何PHP的经验,但我需要创建此代码的C#等价物:
<?
$theData = array(
'action'=>'login',
'data'=>array(
'username'=>'(the username to be used)',
'password'=>'(the password)'
),
);
echo "REQUEST:\n";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '(the service url)');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('query'=>json_encode($theData)));
curl_setopt($ch, CURLOTP_SSL_VERIFYPEER, false);
$login = curl_exec($ch);
#echo $login;
var_dump(json_decode($login, true));
#cho "\n";
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)
在C#中.
现在,我无法解决的一件事就是这一行:
curl_setopt($ch, CURLOPT_POSTFIELDS , array('query'=>json_encode($passedData)));
Run Code Online (Sandbox Code Playgroud)
从我收集到的内容相当于设置HttpWebRequest的RequestStream.但是,我应该在流中放置什么样的对象,我应该如何序列化它?我正在使用这里找到的Json.NET库:http://json.codeplex.com/ 我当前的C#代码就是这个(它是测试代码,只是为了看它是如何工作的):
StringWriter sw = new StringWriter(new StringBuilder());
using (JsonWriter jwr = new JsonTextWriter(sw))
{
jwr.Formatting = …Run Code Online (Sandbox Code Playgroud) 如果我从收件箱中选择Outlook邮件并将其复制到剪贴板,我可以将其作为*.msg文件粘贴到桌面.
现在我想为我的应用程序实现相同的功能.
Clipboard对象包含以下元素:
RenPrivateSourceFolder
RenPrivateMessages
RenPrivateItem
FileGroupDescriptor
FileGroupDescriptorW
FileDrop
FileNameW
FileName
FileContents
Object Descriptor
System.String
UnicodeText
Text
Run Code Online (Sandbox Code Playgroud)
FileGroupDescriptor包含MemoryStream带文件名的文件(Subject.msg),但我不知道如何从剪贴板数据中创建Outlook消息的副本,因为没有任何元素似乎包含消息本身.
有什么建议?
是否有可能对#define宏进行类型检查?例如:
typedef enum
{
REG16_A,
REG16_B,
REG16_C
}REG16;
#define read_16(reg16) read_register_16u(reg16); \
assert(typeof(reg16)==typeof(REG16));
Run Code Online (Sandbox Code Playgroud)
上面的代码似乎不起作用.我究竟做错了什么?
顺便说一下,我正在使用gcc,我可以保证我将永远在这个项目中使用gcc.代码不需要是可移植的.
我有一个整数数组说int example[5] = {1,2,3,4,5}.现在我想使用C而不是C++将它们转换为字符数组.我该怎么做?
是否有可能告诉JAXB忽略元素的顺序?那么生成XSD将包含all-elements而不是sequence-elements?
我试图扩展我的jQGrid以使标题有多行.
它看起来像这样
Run Code Online (Sandbox Code Playgroud)----------------------- Level 1 - > | Application | ----------------------- Level 2 - > |Code | Name | ----------------------- | 0002827| Mobile Phone1 | 0202827| Mobile Phone2 | 0042827| Mobile Phon3e | 0005827| Mobile Phone4 | 0002627| Mobile Phon5e | 0002877| Mobile Phone6 | 0002828| Mobile Phone7
我想知道如何用jQGrid 3.8.2做到这一点?有任何想法吗?
我习惯用C#编程,我想念Java的一件事是它似乎没有C#的内置事件处理能力:
// define event signature
public delegate void SomeEventHandler();
class SomeEventGenerator {
// define subscribable event property
public event SomeEventHandler SomeEvent;
protected void OnSomeEvent() {
if (SomeEvent != null) {
SomeEvent();
}
}
}
class SomeEventClient {
public SomeEventClient(SomeEventGenerator eg) {
// subscribe
eg.SomeEvent += new SomeEventHandler(eg_SomeEvent);
// do some stuff
// unsubscribe
eg.SomeEvent -= new SomeEventHandler(eg_SomeEvent);
}
private void eg_SomeEvent() {
// handle event
}
}
Run Code Online (Sandbox Code Playgroud)
在Java/Android中获得类似和轻量级的最佳方法是什么,它能够订阅/取消订阅多个事件客户端并立即调用所有订阅的客户端?
我试图获得一个视图的高度,它一直返回0.
这是我尝试过的:
View hourView = View.inflate(mContext, R.layout.calendar_hour_item,null);
hourViewHeight = hourView.findViewById(R.id.mainLayout).getHeight();
Run Code Online (Sandbox Code Playgroud)
我也试过hourViewHeight = hourView.getHeight();但没有快乐.
我在这里的initialize()方法中调用这两行:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calendar_day_screen);
Intent intent = getIntent();
mDate = new DateTime(intent.getStringExtra("date"));
circleIcon = (ImageView) findViewById(R.id.circle);
mHoursLayout = (RelativeLayout) findViewById(R.id.dayLayout);
TopBarUtil topBar = new TopBarUtil(getApplicationContext());
circleIcon.setOnClickListener(topBar.onActionClickListener());
mContext = getApplicationContext();
initialize();
}
Run Code Online (Sandbox Code Playgroud)
这是我的xml布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@+id/mainLayout" android:background="@layout/border">
<TextView android:text="12am" android:id="@+id/hourTextView"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我basicllay想要获得上面的xml布局的高度,但它总是返回0.
编辑:我也尝试过这样做:
@Override
protected void onStart() {
// TODO Auto-generated method stub …Run Code Online (Sandbox Code Playgroud) 我想在Java中使用引用,但我不知道如何!例如在C++中我们写道:
void sum(int& x)
{
...
}
Run Code Online (Sandbox Code Playgroud)
但在Java和sign中是一个编译器错误!请帮我理解Java中的参考资料.