Tag: C#的

我如何重载C#中的方括号运算符?

DataGridView,例如,让你这样做: DataGridView dgv = …; DataGridViewCell cell = dgv[1,5]; 但在我的生活中,我无法find索引/方括号运算符的文档。 他们叫什么? 它在哪里实施? 它可以扔? 我怎样才能在自己的课堂上做同样的事情? ETA:感谢所有的快速回答。 简而言之:相关文件在“项目”属性下; 重载的方法是通过声明一个像public object this[int x, int y]{ get{…}; set{…} } public object this[int x, int y]{ get{…}; set{…} } ; DataGridView的索引器不会抛出,至less根据文档。 它没有提到如果你提供无效的坐标会发生什么。 ETA再次:好的,尽pipe文档没有提到它(顽皮的微软!),事实certificate,DataGridView的索引器实际上会抛出一个ArgumentOutOfRangeException,如果你提供了无效的坐标。 公平的警告。

configuration授权服务器端点

题 我们如何使用用户名和密码stream在ASP.NET 5中使用不记名令牌? 对于我们的场景,我们希望让用户注册并使用AJAX调用login,而无需使用外部login。 为此,我们需要一个授权服务器端点。 在之前的ASP.NET版本中,我们将执行以下操作,然后在ourdomain.com/Token URL上login。 // Configure the application for OAuth based flow PublicClientId = "self"; OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/Token"), Provider = new ApplicationOAuthProvider(PublicClientId), AccessTokenExpireTimeSpan = TimeSpan.FromDays(14) }; 但是,在ASP.NET的当前版本中,上述不起作用。 我们一直在试图找出新的方法。 例如 ,GitHub上的aspnet / identity示例configurationFacebook,Google和Twitter身份validation,但似乎没有configuration非外部OAuth授权服务器端点,除非这是AddDefaultTokenProviders()所做的事情,在这种情况下,我们想知道提供商的url就是。 研究 我们从这里阅读源头就了解到,我们可以通过在Startup类中调用IAppBuilder.UseOAuthBearerAuthentication将“承载authentication中间件”添加到HTTPpipe道中。 尽pipe我们仍然不确定如何设置令牌端点,但这是一个好的开始。 这不起作用: public void Configure(IApplicationBuilder app) { app.UseOAuthBearerAuthentication(options => { options.MetadataAddress = […]

为非托pipeC ++客户端创buildWCF服务

我需要让非托pipe的Windows C ++客户端与WCF服务交谈。 C ++客户端可以在Win2000及更高版本上运行。 我有两个WCF服务和哪个C ++ API正在使用的控制。 由于它是专有应用程序,所以最好在可能的情况下使用Microsoft的东西,绝对不是GNU许可的API。 那些有工作能力的人,你们能分享一步一步的过程吗? 到目前为止,我已经研究了以下选项: WWSAPI – 不好,不能在Win 2000客户端上运行。 ATL Server,使用以下指南作为参考。 我遵循所述的步骤(删除策略引用并将WSDL扁平化),但是由此产生的WSDL仍然不能被sproxy 还有什么想法? 请回答,只有当你真的有自己的工作。 编辑1 :我为任何我可能困惑的人道歉:我正在寻找的是从没有安装.NET框架的客户端调用WCF服务的方法,所以使用基于.NET的帮助程序库不是一个选项,它必须是纯粹的非托pipeC ++

非types的模板参数

我明白,非types模板参数应该是一个常数积分expression式。 有人可以解释为什么这样吗? template <std::string temp> void foo() { // … } error C2993: 'std::string' : illegal type for non-type template parameter 'temp'. 我明白什么是一个不变的整数expression式。 什么原因不允许非常量types如std::string在上面的代码片段?

读取和写入二进制文件

我试图编写代码来读取二进制文件到缓冲区,然后将缓冲区写入另一个文件。 我有下面的代码,但缓冲区只存储了文件中第一行的几个ASCII字符,没有别的。 int length; char * buffer; ifstream is; is.open ("C:\\Final.gif", ios::binary ); // get length of file: is.seekg (0, ios::end); length = is.tellg(); is.seekg (0, ios::beg); // allocate memory: buffer = new char [length]; // read data as a block: is.read (buffer,length); is.close(); FILE *pFile; pFile = fopen ("C:\\myfile.gif", "w"); fwrite (buffer , 1 […]

如何更改DataTable中DataColumn的DataType?

我有: DataTable Table = new DataTable; SqlConnection = new System.Data.SqlClient.SqlConnection("Data Source=" + ServerName + ";Initial Catalog=" + DatabaseName + ";Integrated Security=SSPI; Connect Timeout=120"); SqlDataAdapter adapter = new SqlDataAdapter("Select * from " + TableName, Connection); adapter.FillSchema(Table, SchemaType.Source); adapter.Fill(Table); DataColumn column = DataTable.Columns[0]; 我想要做的是: 假设当前column.DataType.Name是“双” 。 我希望它成为“Int32” 。 我如何做到这一点? 谢谢你的回应,如果有的话。

C# – 一个列表中的多个genericstypes

这可能是不可能的,但我有这个类: public class Metadata<DataType> where DataType : struct { private DataType mDataType; } 还有更多,但让我们保持简单。 genericstypes(DataType)被where语句限制为值types。 我想要做的是具有不同types(DataType)的这些元数据对象的列表。 如: List<Metadata> metadataObjects; metadataObjects.Add(new Metadata<int>()); metadataObjects.Add(new Metadata<bool>()); metadataObjects.Add(new Metadata<double>()); 这甚至有可能吗?

在不使用第三个variables的情况下交换两个variables值

其中一个非常棘手的问题在采访中被问到。 交换两个variables的值,如a=10和b=15 。 通常交换两个variables值,我们需要第三个variables,如: temp=a; a=b; b=temp; 现在要求是,不使用第三个variables交换两个variables的值。

使用StringWriter进行XML序列化

我目前正在寻找一个简单的方法来序列化对象(在C#3中)。 我search了一些例子,并提出了类似的东西: MemoryStream memoryStream = new MemoryStream ( ); XmlSerializer xs = new XmlSerializer ( typeof ( MyObject) ); XmlTextWriter xmlTextWriter = new XmlTextWriter ( memoryStream, Encoding.UTF8 ); xs.Serialize ( xmlTextWriter, myObject); string result = Encoding.UTF8.GetString(memoryStream .ToArray()); 看完这个问题后,我问自己,为什么不使用StringWriter? 这似乎更容易。 XmlSerializer ser = new XmlSerializer(typeof(MyObject)); StringWriter writer = new StringWriter(); ser.Serialize(writer, myObject); serializedValue = writer.ToString(); 另一个问题是,第一个例子生成的XML我不能只写入SQL […]

将数据注释添加到由entity framework生成的类

我有以下由entity framework生成的类: public partial class ItemRequest { public int RequestId { get; set; } //… 我想将此作为必填字段 [Required] public int RequestId { get;set; } 但是,因为这是生成的代码,这将被消灭。 我无法想象创build一个部分类的方法,因为属性是由生成的部分类定义的。 我怎样才能以安全的方式定义约束?