我在C#中投射对象时遇到了一些问题,除了在界面中声明的对象方法之外,还能够使用其他对象方法.以下是我所说的简单例子.
public interface IShape
{
void Print();
}
public class Square : IShape
{
#region IShape Members
public void Print()
{
HttpContext.Current.Response.Write("Square Print Called");
}
#endregion
public void PrintMore()
{
HttpContext.Current.Response.Write("Square Print More Called");
}
}
Run Code Online (Sandbox Code Playgroud)
为什么在调用下面的代码时我无法访问PrintMore()?
IShape s = (Square)shape;
s.PrintMore() // This is not available. only Print() is.
Run Code Online (Sandbox Code Playgroud)
任何帮助和解释都会有所帮助吗?
如果出现错误,如何通过PHP重新填充发布的表单数据.我有一个联系表格,用户输入一堆信息,如果一个字段没有验证,他就会丢失所有内容.如何阻止这种情况发生并确保其安全?
我试过这个,但相信我读到的地方不安全:
<input type="text" name="name" value="<?php echo $_POST['name']; ?>" />
Run Code Online (Sandbox Code Playgroud) 我对C#generics相当新,我想知道一些事情是如何工作的.
如果我有这个:
public class Foo<T>
Run Code Online (Sandbox Code Playgroud)
在我的课上我有一个GetType方法,它只返回T的类型.我该怎么做才能使我的方法能够使用T.
public string GetType();
{
return T.GetType().ToString();
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试学习一个简单的例子来帮助我理解.
谢谢.
我想知道如何从控制器外部重定向到特定路由.我有一个自定义属性,我需要重定向路由.
public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext)
{
// Want to redirect to route here.
base.OnAuthorization(filterContext);
}
Run Code Online (Sandbox Code Playgroud) 我在继承的Membership Provider对象上编写了一个测试方法,并希望通过实际将成员资格提供程序转换为我的对象来调用该方法.成员资格不属于MembershipProvider类型.它是默认的Membership对象.
((MyMembershipProvider)Membership).Test();
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
c# ×4
asp.net ×2
asp.net-mvc ×1
attributes ×1
casting ×1
forms ×1
generics ×1
interface ×1
php ×1
security ×1